DTcmsV4.0分析学习——(2)系统框架

2.1物理结构

共8个项目,Web为启动项

项目间相互依赖关系图:

2.2逻辑结构

DTcms V4.0轻量级CMS系统框架采用的是典型的三层架构(项目与三层架构并非直接对应关系,至于什么是三层架构这里不细谈,可自行谷歌或百度了解),具体如下:

2.1.1 API:Oauth协议、支付接口

OAuth已集成:飞信、开心网、QQ、人人网、新浪微博、淘宝

支付接口已集成:支付宝、财付通、网银在线(京东支付)

2.1.2 BLL:业务逻辑

BLL项目也是三层结构的业务逻辑层,大部分的业务逻辑都在该项目中处理。

以文章内容为例:

(1)基本方法:也就是常规的CURD

(2)扩展方法:针对性的逻辑处理,如文章内容的“获取阅读次数”

(3)前台模板调用方法:用于前台模版标签的调用

备注:

每个逻辑处理类都与数据库的表关联,而表名的前缀是动态的,DTcms的处理方式是在每个BLL类中的构造函数获取表前缀,然后传给DAL,个人感觉太繁琐,不合理

2.1.3 Common:公共方法

Common属于独立项目,常用方法类的封装

2.1.4 DAL:数据访问

DAL项目主要负责数据库的访问,依赖于DBUtility底层数据操作公共方法

2.1.5 DBUtility:数据访问公共方法

2.1.6 Model:实体

2.1.7 Web:UI界面

2.1.8 Web.UI:界面控制

时间: 2024-08-29 02:40:50

DTcmsV4.0分析学习——(2)系统框架的相关文章

DTcmsV4.0分析学习——(1)数据库结构分析:表结构

数据库名:DTcmsdb4 DTcmsV4.0共35张表(33张表+2张插件表) dt_article 内容管理 dt_article_albums 图片相册 dt_article_attach 附件表 dt_article_attribute_field 扩展属性表 dt_article_attribute_value 扩展属性表 dt_article_category 栏目类别 dt_article_comment 评论 dt_channel 系统频道表 dt_channel_field 频

DTcmsV4.0分析学习——(3)URL重写

3.URL重写 3.1 控制流程 通过IHttpModule控制所有页面请求,具体流程如下 (1)真实路径可正常访问 (2)前台页面通过URL重写映射aspx目录,后台页面通过URL重写映射admin目录,插件页面通过URL重写映射plugins目录,静态页面通过URL重写映射html目录 (3)xmlconfig/urls.config 是URL重写规则的XML配置文件,使用缓存依赖优化性能 URL重写与MVC路由在功能上很相似,但两者其实并不相同,区别在于,URL重写是将一个URL映射到另一

Android动画学习(一)——Android动画系统框架简介

这几天在找工作,面试的时候被问到了Android动画,之前完全没接触过这部分,直接给懵了,当然其它不会的还有很多.回来之后就开始查Android动画方面的资料,边查边学,把自己不会的东西全部记录下来,同时也把废弃了半年的博客重新维护起来.希望自己以后看问题能更深入一点,努力成为一个大牛! 尽量拒绝三手技术!尽量拒绝三手技术!尽量拒绝三手技术!重要的事情说三遍~所以我不百度了~ 在Android 3.0之前,Android提供了两类动画.一类是Tween Animation,即补间动画,它提供了淡

effective OC2.0 52阅读笔记(七 系统框架)

47 熟悉系统框架 总结:将代码封装为动态库,并提供接口的头文件,就是框架.平时的三方应用都用静态库(因为iOS应用程序不允许在其中包含动态库),并不是真正的框架,然而也经常视为框架.例如:NSLinguisticTagger可以解析字符串并找到其中的全部名词.动词.代词等.无缝桥接:将CoreFoundation中的C语言数据结构平滑转换为Foundation中的Objective-C对象,也可反向转换.OC编程一个重要特点是,经常需要使用底层的C语言级API,用C语言来实现API的好处是,可

java大数据 高并发 系统框架 springmvc mybatis Bootstrap html5 shiro maven SSM SSH

获取[下载地址]   QQ: 313596790   [免费支持更新]A 代码生成器(开发利器);全部是源码     增删改查的处理类,service层,mybatis的xml,SQL( mysql   和oracle)脚本,   jsp页面 都生成   就不用写搬砖的代码了,生成的放到项目里,可以直接运行B 阿里巴巴数据库连接池druid;  数据库连接池  阿里巴巴的 druid.Druid在监控.可扩展性.稳定性和性能方面都有明显的优势C 安全权限框架shiro ;  Shiro 是一个用

【课程分享】jQuery2.0应用开发:SSH框架整合jQuery2.0实战OA办公自动化(VSS、operamasks-UI框架)

我的qq是2059055336,对这个课程有兴趣的可以加我qq联系. 课程下载地址:链接:http://pan.baidu.com/share/link?shareid=395438909&uk=3611155194 密码:mlvl 课程下载地址:http://www.kuaipan.cn/file/id_192202874577496484.htm?source=1 一.本课程是怎么样的一门课程(全面介绍)    1.1.课程的背景 jQuery 2.0 正式版发布,不在支持 IE 6/7/8

[编写高质量iOS代码的52个有效方法](十一)系统框架

[编写高质量iOS代码的52个有效方法](十一)系统框架 参考书籍:<Effective Objective-C 2.0> [英] Matt Galloway 先睹为快 47.熟悉系统框架 48.多用块枚举,少用for循环 49.对自定义其内存管理语义的容器使用无缝桥接 50.构建缓存时选用NSCache而非NSDictionary 51.精简initialize与load的实现代码 52.别忘了NSTimer会保留其目标对象 目录 编写高质量iOS代码的52个有效方法十一系统框架 先睹为快

系统框架 springmvc mybatis Bootstrap html5 shiro maven SS

获取[下载地址]   QQ: 313596790   [免费支持更新]支持三大数据库 mysql  oracle  sqlsever   更专业.更强悍.适合不同用户群体[新录针对本系统的视频教程,手把手教开发一个模块,快速掌握本系统]A 代码生成器(开发利器);      增删改查的处理类,service层,mybatis的xml,SQL( mysql   和oracle)脚本,   jsp页面 都生成   就不用写搬砖的代码了,生成的放到项目里,可以直接运行B 阿里巴巴数据库连接池druid

iOS学习之Objective-C 2.0 运行时系统编程

0 导言 本主主要内容包括: 1.概述2.参考3.运行时系统的版本和平台4.和运行时系统的交互5.消息6.动态方法解析7.消息转发8.类型编码9.属性声明 1 概述 Objective-C语言将决定尽可能的从编译和链接时推迟到运行时.只要有可能,Objective-C总是使用动态的方式来解决问题.这意味着Objective-C语言不仅需要一个编译器,同时也需要一个运行时系统来执行编译好的代码.这里的运行时系统扮演的角色类似于 Objective-C语言的操作系统,Objective-C基于该系统