| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4804 人关注过本帖
标题:c#三层结构的写法
只看楼主 加入收藏
smiles
Rank: 1
等 级:新手上路
帖 子:123
专家分:0
注 册:2005-8-8
收藏
 问题点数:0 回复次数:7 
c#三层结构的写法
三层结构的具体例子代码有吗?
给参考一下,最好是针对数据库操作的。
搜索更多相关主题的帖子: 数据库 结构 例子 代码 
2005-09-21 11:43
smiles
Rank: 1
等 级:新手上路
帖 子:123
专家分:0
注 册:2005-8-8
收藏
得分:0 
1。逻辑层---关于SQL语句的执行,数据库的连接等操作,比较独立。
2。和表示层有关的,专门从页面读取有用的数据信息进行判断和使用。
3。数据库写入的,专门往数据库里插入数据,修改,删除等,调用逻辑层。

理解力比较差,大家有意见随便提!~

2005-09-26 20:40
鼎愿远
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2005-8-10
收藏
得分:0 
数据层呢
2005-09-27 12:34
zhangyingcai
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2005-9-3
收藏
得分:0 
谈谈自己的一些体会吧,具体的名称我是拿不准的,就说说我理解的各层的大概功能:
最上面一层主要是完成数据输入和输出功能,另外包括基本的check等等。
最下面一层主要完成数据和文件的访问操作。
中间那层的作用主要是,根据上面一层的输入内容来判断逻辑走向,调用下面一层的数据和文件访问操作,最后将结果保存到数据文件中,或者是将读取的数据进行处理后再通过最上面一层显示出来。

2005-09-27 13:20
smiles
Rank: 1
等 级:新手上路
帖 子:123
专家分:0
注 册:2005-8-8
收藏
得分:0 
  • Web 层 Web 层为客户端提供对应用程序的访问。这一层是作为 Duwamish.sln 解决方案文件中的 Web 项目实现的。Web 层由 ASP .NET Web 窗体和代码隐藏文件组成。Web 窗体只是用 HTML 提供用户操作,而代码隐藏文件实现各种控件的事件处理。
  • 业务外观层 业务外观层为 Web 层提供处理帐户、类别浏览和购书的界面。这一层是作为 Duwamish.sln 解决方案文件中的 BusinessFacade 项目实现的。业务外观层用作隔离层,它将用户界面与各种业务功能的实现隔离开来。除了低级系统和支持功能之外,对数据库服务器的所有调用都是通过此程序集进行的。
  • 业务规则层 业务规则层是作为 Duwamish.sln 解决方案文件中的 BusinessRules 项目实现的,它包含各种业务规则和逻辑的实现。业务规则完成如客户帐户和书籍订单的验证这样的任务。
  • 数据访问层 数据访问层为业务规则层提供数据服务。这一层是作为 Duwamish.sln 解决方案文件中的 DataAccess 项目实现的。

  • 2005-09-28 15:22
    smiles
    Rank: 1
    等 级:新手上路
    帖 子:123
    专家分:0
    注 册:2005-8-8
    收藏
    得分:0 

    ASP.NET可以使用.NET平台快速方便的部署三层架构。ASP.NET革命性的变化是在网页中也使用基于事件的处理,可以指定处理的后台代码文件,可以使用C#,VB,J#作为后台代码的语言。.NET中可以方便的实现组件的装配,后台代码通过命名控件可以方便的使用自己定义的组件。显示层放在ASP页面中,数据库操作和逻辑层用组件来实现,这样就很方便的实现了三层架构。


    2005-09-28 15:22
    smiles
    Rank: 1
    等 级:新手上路
    帖 子:123
    专家分:0
    注 册:2005-8-8
    收藏
    得分:0 
    《转贴》

    VB的例子,参考一下

     一个基于三层架构的例子

      我们通过具体的例子来说明三层架构的应用,我们建一个小项目来说明这个问题。有时为了安全性,我们通常把与数据库的连接用一个动态连接库文件封装起来,这样我们就要把写数据库连接的.vb或者.cs文件编译成动态连接库.dll文件。甚至我们把对数据库的相关操作页编译成.dll文件。

      下面是我们的与数据库连接以及操作的文件dblink.vb的主要部分,对数据库的连接:

       Dim dbl As SQLConnection

      对数据库的操作,我们把它写在一个方法里面,在返回相应值:
    Function getdata() as DataView
    Dim sComm as SQLDataSetCommand
    Dim sDS as DataSet
    Dim sStr as String
    dbl = New SQLConnection("server=localhost;uid=sa;password=;database=howff")
    sStr = "select * from color"
    sComm = new SQLDataSetCommand(sStr,dbl)
    sDS = new DataSet()
    sComm.FillDataSet(sDS,"color")
    Return sDS.Table["color"].DefaultView
    End Function


      我们第六个语句就用到上面的与数据库的连接变量,我们这个函数的功能是从表"color"中选出所有的元素,并返回表结构的形式。完整的代码如下:

    Imports System
    Imports System.Data
    Imports System.Data.SQL
    '创建名字空间
    Namespace db
    '创建一个类
    Public Class dblink
    '建立数据库的连接
    Dim dbl As SQLConnection
    '方法
    Public Function getdata() As DataView
    Dim sComm As SQLDataSetCommand
    Dim sDS As DataSet
    dbl = New SQLConnection("server=localhost;uid=sa;password=;database=howff")
    Dim sStr As String
    sStr = "select * from color"
    sComm = New SQLDataSetCommand(sStr, dbl)
    '填充数据
    sDS = New DataSet()
    sComm.FillDataSet(sDS, "color")
    '返回
    Return sDS.Tables("color").DefaultView
    End Function
    End Class
    End Namespace
    我们再写一个前端掉用页面saidy.aspx,我们首先要引入我们创建的名字空间:

    <%@ Import Namespace="db" %>

    在页面装入的时候,我们用此方法:
    Sub Page_Load(Sender As Object, E As EventArgs)
    '建立一个新的对象
    Dim newdb As dblink
    newdb = new dblink()
    '数据来源
    Products.DataSource = newdb.getdata()
    '数据绑定
    Products.DataBind()
    End Sub
    下面看看我们完整的代码(advanceapp\dblink.aspx):
    <%@ Import Namespace="db" %>
    <html>
    <script language="VB" runat="server">
    Sub Page_Load(Sender As Object, E As EventArgs)
    '建立一个新的对象
    Dim newdb As dblink
    newdb = new dblink()
    '数据来源
    Products.DataSource = newdb.getdata()
    '数据绑定
    Products.DataBind()
    End Sub
    </script>
    <body style="font: 10pt verdana" bgcolor="CCCCFF">
    <BR><BR><BR>
    <CENTER>
    <h3>.NET->三层架构!</h3>
    </CENTER>
    <BR><BR>
    <CENTER>
    <ASP:DataList id="Products" ShowHeader=false ShowFooter=false RepeatColumns="2" RepeatDirection="horizontal" BorderWidth=0 runat="server">
    <template name="itemtemplate">
    <table>
    <tr>
    <td width="150" style="text-align:center; font-size:8pt; vertical-align:top;
    height:50">
    <p>
    <%# DataBinder.Eval(Container.DataItem, "id") %> <br>
    <%# DataBinder.Eval(Container.DataItem, "name", "{0:C}").ToString() %>
    </td>
    </tr>
    </table>
    </template>
    </ASP:DataList>
    </CENTER>
    </body>
    </html>

      我们看到,在这个页面当中,没有出现与数据库交互的语句,这样我们就很好的把数据操作封装起来了

    2005-09-28 15:32
    smiles
    Rank: 1
    等 级:新手上路
    帖 子:123
    专家分:0
    注 册:2005-8-8
    收藏
    得分:0 
    找了几篇文章,但介绍的不是很透彻。
    谁有C#的例子介绍一下。

    2005-09-28 15:35
    快速回复:c#三层结构的写法
    数据加载中...
     
       



    关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

    编程中国 版权所有,并保留所有权利。
    Powered by Discuz, Processed in 0.060514 second(s), 7 queries.
    Copyright©2004-2024, BCCN.NET, All Rights Reserved