三层架构,分别是 数据交换层DAL,业务逻辑层BLL,界面层UI。在.net项目中以项目(程序集)的形式表现。数据库放的每一个表,在各个层中都对应一个类。用过好久之后,感觉没有最初感觉的那么高大上。但的确很方便。构建三层架构的时候,因为每张表的基础逻辑都差不多、重复性工作太多。所以在构建三层架构初始,建议写一个代码生成器,(生成器这东西,逻辑上就是拼字符串。)当然,使用起来最舒服的还是别人家写的。
推荐,【动软三层代码生成器】,算是个半开源的工具,可以自定义的哦?这一点很关键的。
1. Model 项目
把数据库中的表,以实体类的形式保存在项目中。
技术问题:1. 对于数据库中的可空类型,使用 int? bool?......等数据进行接收。
2 . 对于双向绑定。的数据问题。。(未记录)。
2. DAL 数据交换层概要
项目中对数据库的操作,全部封装到这个程序集中。
一般主要包括数据表的,Insert( ) 、DeleteById( )、 Update( )、 GetById( )、 GetList( )方法。
技术问题:
1. 操作数据库主要使用SQLHelper类来操作。
2. 理论上来说,除DAL层外,其他项目中不能出现任何与数据库相关的元素(例如:ADO.NET)
DAL层中方法的返回值,一般为Model或者,List<Model>等于数据库无关的类型。
3. 处理数据库中的空值。封装一个ToDBNull(Object value),和FromDBNull(Object value)
3. BLL 业务逻辑层概要
无论是数据库中的数据,还是UI上的数据,如果都需要一定的判断,转换,和基于业务上的处理,都需要BLL层的支持。
4. UI 层概要
用户交互的界面,用于显示具体的数据给用户。
技术问题:
1. UI的数据,可以使用两种方式赋值。控件赋值 和 数据绑定。
2. 数据绑定的绑定方式 BindingModel = Towway Oneway OneTime。双向绑定时需要实体类实现一个接口。
原文地址:http://www.cnblogs.com/mcad/p/4124096.html