三层架构的一般理解:
三层是指:UIL表示层,BLL逻辑层,DAL数据操作层
首先是通过DAL数据操作层来跟数据库打交道,然后把数据返回到BLL逻辑层进行相应的逻辑处理
然后在UIL表示层现实出来,不过中间会使用带抽象工厂模式来处理连接数据库的问题,最后还会使用到
辅助层来处理NEW对象和属性。
SQL一般写在DAL层,通过数据库类实现调用。
在BLL通过接口调用DAL方法
Model,实现业务实体。
IDAL,实现接口。
SQLServerDAL,实现接口里的方法。
web.config里的配置信息,为SQLServerDAL的程序集。
DALFactory,返回程序集的指定类的实例。
BLL,调用DALFactory,得到程序集指定类的实例,完成数据操作方法。
WEB,调用BLL里的数据操作方法。
业务逻辑层(BLL):主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理。如果说数据层是积木,那逻辑层就是对这些积木的搭建。
数据访问层(DAL):主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据的操作,而不是数据库,具体为业务逻辑层或表示层提供数据服务。
(IDAL)它体现了“抽象”的精神,或者说是“面向接口编程”的最佳体现。抽象的接口模块IDAL
(Model)实体和数据库表映射类
(Web)web网站项目
并不是每个系统都要分层,一般只针对一些大型系统才采用分层,你看PetShop4,总共有22个项目。
大体思想是3层,从Model,DAL,BLL,
然后他在各层上又采用了工厂模式,把逻辑与实现想分离,比如以前BLL直接调用DAL就好了,
但现在BLL却调用了IDAL,IDAL只是一个接口层,里面封状了要完成的一些业务逻辑,
而具体的实现则交给DAL去实现,
然后借助于工厂模式DALFactory和映射完成IDAL层中类的实例化。
这样不管我们用的底层用的是什么数据库都可以完成BLL对DAL的调用。
首先你不应该将那些SQL语句放在BLL层中,而应该是由DAL层来完成和数据库的交互。
要想研究分层模式,PetShop4的确是一个相当好的例子,值得学习。
分享到:
相关推荐
这是我对三层架构开发的一个简单举例,三层架构基础篇,简单说明
一些三层架构选择题 一些三层架构选择题
MVC三层架构基础介绍简单来说,Design Patten 就是一个常用的方案。 在我们的开发过程中,经常会遇到一些相同或者相近的问题,每次我们都会去寻找一个新的解决方法,为了节省时间提高效率,我们提供一些能够解决这些...
新手研究用的,都是我们上课用的一些资料,希望对大家有用
三层架构 实体类实现日记系统 完成介绍三层架构实体类的作用和实现
三层架构基础知识 .NET 开发三层架构应用程序
提供一个三层架构实例和三层架构的基础知识
最新自动生成各个三层架构的基础代码,包括entity、mapper、service、controller、
牛逼的课件,很详细简洁的解释了三层架构,且从基础操作上让我们学会如何构建三层架构,非常有用
十分基础的三层架构CRM图书管理系统,web和winfrom都有例子。
网络架构,网络基础知识简介,初级教程,适合初学者
很简单的三层架构,有数据库文件(SQL server2005 数据库)。
(1)为了便于观察,简化了企业网络的三层架构拓扑,将核心层与汇聚层合并,因此在拓扑图上看到的企业网络是由核心层/汇聚层和接入层构成的。 (2)因本实验重点观察企业网络内部节点间的通信情况,因此极大地简化了...
服装商店,基于ASP.NET简单三层架构,使用vs2008及内置SQL server数据库,实现了主页,登录,注册,注销,衣服列表,对商品的增删改查。使用了ASP.NET Web Service、JavaScript、Ajax等技术对前端页面进行了优化。...
asp.net写的CMS后台框架,用了三层架构,前后端分离模式,包含基础模块的职员管理,角色管理,权限管理,部门管理,菜单管理等。部署后之要写业务部分,不用为了基础功能花时间,是外包或做项目的不二之选(包含...
webasp.net三层架构基础,基础教程
三层架构为基础扩展论坛的功能,三层架构为基础扩展论坛的功能
这是一个Asp.net项目三层架构生成器,能按照项目对各个层面进行分解分层,可以在三层的基础上按照需要的模式细化分层。对于底层开发或者学习很有帮助。
使用ASP.net C#语句编写的新闻发布系统,涉及到Datalist,gridview等基础数据操作的使用,使用三层架构,结构清晰明了
三层基础结构,C# ,winform,经典三层架构,三层结构初学