三层结构

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

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

    # 留言板页面的外观代码都存放在 .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的那两个例子很好,多学习一下.
一个原则:
上层调下层
上层对下层是不可见的
设计时,表现层只调用逻辑层,表现层主要是取得页面的数据传到逻辑层,和把从逻辑层得到的数据显示到页面上。
逻辑层负责把数据加工整理传到数据层和把从数据层取得的数据加工
数据层就只负责把数据对数据库操作

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

时间: 2024-10-29 20:59:03

三层结构的相关文章

AutoThrCode 三层结构业务层代码自动生成工具

请看下面示例:数据表结构如下: 生成的 属性成员 和 添加,更新的代码: 'AutoThrCode自动生成三层结构业务逻辑层代码'IsDotNet 版权所有'作者:梦虫'Msn:IsDotNet@MsN.CoM'Http://www.IsDotNet.com'本代码引用 IsDotNet.Data.SqlDbHelper 类,请将 AdoHelper.dll 拷贝到WEB程序的BIN目录下'请在WEB程序的web.config文件的节配置数据库连接字符串,"ConnectionString&qu

建立三层结构的ASP应用程序

程序 本文介绍了三层结构应用程序的概念和优点,并结合一个实例介绍了如何建立三层结构的ASP应用程序. 一.两层结构的ASP应用有何缺点 在Browser/Server 应用程序开发领域,微软公司的IIS/ASP以其强大的功能,良好的扩展能力,及与其它微软产品的一致性,迅速地流行起来.它能使一个具有VB/VC经验的程序员,很快地成为一个Web程序员,开发出看上去非常专业的应用.但是,ASP有一个天生的缺点,就是ASP代码和HTML代码是混在一起的,ASP程序员既需要考虑与数据库打交道,需要关心如何

什么是ASP.NET中三层结构

asp.net|三层结构 一.三层体系架构 1.表示层(USL):主要表示WEB方式,也可以表示成WINFORM方式.如果逻辑层相当强大和完善,无论表现层如何定义和更改,逻辑层都能完善地提供服务. 2.业务逻辑层(BLL):主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理.如果说数据层是积木,那逻辑层就是对这些积木的搭建. 3.数据访问层(DAL):主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据的操作,而不是数据库,

项目常用算法之Nhibernate三层结构

本文简单比较了动软三层结构和"Nhibernate三层结构". (1)动软三层架构 刚开发ASP.Net应用时,使用动软自动生成的三层架构,用起来方便.就是改动起来麻烦.比如要加一 个查询数据的方法,先在DAL层添加接口方法,再到SQLServerDAL层添加实现代码,再到BLL层添加一个包 装方法.向某个表里添加一个字段,就得重新生成一遍,要不然就自己一层一层改. IDAL层,可以由OracleDAL或DB2DAL来实现,目的是屏蔽数据操作的细节.BLL层是有必要的,封装业 务处理逻

java中的mvc和三层结构究竟是什么关系

一件事,要知其然往往很简单,要知其所以然通常不是那么容易,就如最近重新巩固spring的过程中,就觉得还有许多问题其实并不是十分明了. 屈指一算,手头上做过的正式项目也有了四五六七个了,不管用的数据库和其他一些细节上的技术如何,总的来说大的框架结构都是差不多的. 说白了,也就是mvc和三层结构. 而mvc和三层结构究竟是什么关系,我曾在面试的过程中被人问过几次,也曾仔细的想过.查过这个问题,但是直到此时,我也还是不能完全确定. 只不过随着时间的积累,随着技术的沉淀,随着视野的拓宽,我大体上认同了

请问如何实现以下三层结构啊(在线等待)

问题描述 请问如何实现以下三层结构啊表名college表结构collegemajorclass一层college二层major三层class请问如何实现以上结构啊两层的我会写,下面是我的代码,请问如何改成三层啊MySqlDataAdapter=MyFunction.GetSqlDataAdapter("selectcollege,majorfromcollege");MySqlDataAdapter.Fill(MyDataSet,"stu");MySqlDataAd

asp.net的三层结构在编程的过程中怎么体现?

问题描述 asp.net的三层结构在编程的过程中怎么体现? 我理解的是:在"设计"处布局按钮什么的,在按钮的事件里写方法.主要以前见老师给的网上书店里还有什么book类,comment类了,我不是很理解,因为有文章说asp.net天然是三层,我理解的对吗?求大牛告知. 解决方案 关于ASP.NET的三层结构关于ASP.NET的三层结构ASP.NET中的三层结构 解决方案二: 其实三层不止是三层 我们都称作是三层架构而已 还有Model实体层 和Utility工具层 用于添加实体 你的B

hibernate如何保存三层结构的数据表

问题描述 hibernate如何保存三层结构的数据表 各位大神,小弟急求!我现在想实现以下功能:学校--班级--学生之间均为一对多的关系,我想实现在保存学校信息的同时能够将班级信息和学生信息均保存.目前代码如下:学校类: @Entitypublic class School { private String id; private String name; private List<Clazz> clazzSet; @OneToMany(mappedBy = ""schoo

初识三层结构

第一次听说三层结构,是九期的一个师哥在给我们讲高校云平台.那天的感觉像是在听天书,以前从没有接触过.不过,那几个不断在师哥口中重复的名词BLL层.DAL层还是留下了些印象.现在自己来到三层结构的学习了,对师哥讲的那些词算是有种久违的感觉.下面就对三层结构的初识做个总结. 一. 多层结构的划分方式. 结构的划分方式有两种,分别是物理上和逻辑上.从物理的角度来说,可分为显示层.业务层和数据层.从逻辑的角度看,可分为UI层.BLL+DAL层以及DB层.这里我们所说的三层结构是指逻辑上划分的三层. 刚开