DTcmsV4.0分析学习——(2)系统框架
2015-06-08 16:33
239 查看
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文件
共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文件
相关文章推荐
- 20150607-0608
- 日志打屏对性能有多少影响
- Flask architecture
- C++第七章
- 【Android开发】网络编程及Internet应用-通过HTTP访问网络
- pycham 中文注释出错
- Cocos2dx 实现擦除 橡皮擦 刮奖 效果的实现
- mfc “strcpy”: 不能将参数 1 从“WCHAR [128]”转换为“char*解决办法
- ASP.NET MVC DropdownList 使用
- android 整理了800篇非常经典的文章
- ACE框架简介以及一个基于ACE的C/S服务程序实例
- ASP.NET MVC 必备开发环境
- 正则表达式 初学
- 金融数据中心—容灾备份传输解决方案
- 【Java教程】 正确使用 Volatile 变量-潭州JAVA
- JavaScript 开发的45个经典技巧
- Unable to execute dex: Multiple dex files define
- WEB架构师成长之路之三-架构师都要懂哪些知识
- 编程之美1.2中国象棋将帅问题——转载+自己的一点理解
- android手机可视化远程控制电脑的设计