目前对于中小项目我一般分为三个层次,五个模块。在这里给大家说一下我的不成熟的分层思想,如果大家觉得我的分层有什么不合理的地方,欢迎提出。
三个层:
DAL - Data Access Layer - 数据访问层
BLL - Business Logic Layer - 业务逻辑层
UIL - User Interface Layer - 用户界面层
五个模块:
SQLServerDAL
- SQLServer 的数据访问模块,主要使用SqlDataReader读出并填充到自定义实体类
当然再建立一个新的模块 AccessDAL 就可以使用Access数据库了
DTO
- Data Transfer Object - 数据传输对象,在把数据封装成实体类在各层之间传输
一方面是为了防止DataList的一些缺点,另一方面可以统一各层之间的数据交互。
PCL
- Public Class Libaray - 公共类库,整个程序需要的一些自定义类库放入该层
BLL
- 不用多说了,业务逻辑层的模块
WEB
- 用户界面层,我一般只制作WEB程序,如果还有Windows程序的话也可以建立新的模块