DTcmsV4.0分析学习——(2)系统框架
2.1物理结构
共8个项目,Web为启动项
项目间相互依赖关系图:
2.2逻辑结构
DTcms V4.0轻量级CMS系统框架采用的是典型的三层架构(项目与三层架构并非直接对应关系,至于什么是三层架构这里不细谈,可自行谷歌或百度了解),具体如下:
2.2.1 API:Oauth协议、支付接口
OAuth已集成:飞信、开心网、QQ、人人网、新浪微博、淘宝
支付接口已集成:支付宝、财付通、网银在线(京东支付)
2.2.2 BLL:业务逻辑
BLL项目也是三层结构的业务逻辑层,大部分的业务逻辑都在该项目中处理。
以文章内容为例:
(1)基本方法:也就是常规的CURD
(2)扩展方法:针对性的逻辑处理,如文章内容的“获取阅读次数”
(3)前台模板调用方法:用于前台模版标签的调用
备注:
每个逻辑处理类都与数据库的表关联,而表名的前缀是动态的,DTcms的处理方式是在每个BLL类中的构造函数获取表前缀,然后传给DAL,个人感觉太繁琐,不合理
2.2.3 Common:公共方法
Common属于独立项目,常用方法类的封装
2.2.4 DAL:数据访问
DAL项目主要负责数据库的访问,依赖于DBUtility底层数据操作公共方法
2.2.5 DBUtility:数据访问公共方法
2.2.6 Model:实体
实体类项目,每个实体类对应数据库的一张表,每个属性对应表的字段
2.2.7 Web:UI界面
2.2.8 Web.UI:界面控制
Web项目的前台aspx页面对应一个Web.UI项目的cs文件