My FAQ,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > Web开发 > Asp > 综合文章
0000003cjg000000000
作者:未知 时间:2005-03-27 12:12 出处:Blog 责编:MyFAQ
              摘要:暂无

“三层结构”是“外观层”、“商业逻辑层”、“数据库层”

假设以这样的结构制作一个留言板,那么应该是:

    # 留言板页面的外观代码都存放在 .aspx 文件中

    # 当用户点击页面上的提交按钮时,先将文本信息传递给一个 LeaveWord 类对象

    (LeaveWord 类的定义被封装到“商业逻辑层”)

    # 之后让这个对象执行 Post() 将留言信息发送到数据库


用一个简单的代码就是:

    <textarea id="Content" runat="server"></textarea>
    <input type="button" id="Post" runat="server" />

    // ----------------------------------------
    // 在外观层,当用户点击发送按钮后
    // ----------------------------------------
    private void Post_ServerClick(object sender, EventArgs e)
    {
        LeaveWord lword=new LeaveWord();
        lword.Content=Content.Value;
        lword.Post();
    }

    // ----------------------------------------
    // 在商业逻辑层,定义 LeaveWord 类
    // ----------------------------------------
    public class LeaveWord
    {
        public string Content;

        public void Post()
        {
            new LWordData().Post(this.Content);
        }
    }

    // ----------------------------------------
    // 数据库层,定义发送方法
    // ----------------------------------------
    public class LWordData
    {
        public void Post(string content)
        {
            // 打开数据库,将 content 插入到表中
        }
    }

这样,外观层就不必费心数据库操作了...


理解基本正确.但是数据层已经只是数据库的操作,不应该和业务有任何关系,你可以参考SqlHelper.cs
提醒一点,系统的"层"是对代码的一种逻辑划分,并不是一定要三层,假设你的系统很简单,就一个页面,那一层就可以,如果系统很复杂,也可能是n层.
差不离了,核心就是外层绝对不会涉及任何数据处理,他的任务是设置界面,获取数据,输出数据
业务层最重要,所有数据处理在这里,如何运用外层提供的数据处理业务
数据库层一般都建议调用存储过程,返回数据集或其他所需数据;.net的那两个例子很好,多学习一下.
一个原则:
上层调下层
上层对下层是不可见的
设计时,表现层只调用逻辑层,表现层主要是取得页面的数据传到逻辑层,和把从逻辑层得到的数据显示到页面上。
逻辑层负责把数据加工整理传到数据层和把从数据层取得的数据加工
数据层就只负责把数据对数据库操作

业务逻辑层 就是给上层和下层下达命令和调节行为的中间层,这样说易于理解一点了吧?

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 myfaq.com.cn All rights reserved. www.myfaq.com.cn 版权所有