Yii2 CMS 系统 DanDan CMS开发基本完成
最近几天,忙于完成DanDan CMS,博客更新速度有些慢。今天基本完成。DanDan CMS系统源码 https://github.com/froyot/dandan
DanDan CMS系统采用YII2 basic版本进行开发,实现多模块,多主题,内容发布等基础功能。 整个系统写下来,还是需要考虑很多东西,各个模块之间的联系,代码的统筹,结构划分等 都是一门学问
对于一个具有前台,后台的内容发布系统,model层如何划分?是先按业务划分还是按结构划 分呢?如果按结构,直接前后台模块分开,各自一个model,那么问题又来了,哪些是可以共用 的,哪些是需要区分的。如果按业务划分model\db下直接对接数据库,不做业务处理, model\action负责主要业务处理,不管前台后台,所有的操作都经过models\action进行。 我比较推崇这种处理方式,我觉得,一个model所具有的属性,操作是其本身所具有的,不会 因为其运用环境不同而不同,只是需要根据不同的环境应用不同的属性。但是这样也有问题, 后台常常因为运营需要,需要连接不同的表,但是前台则不需要。后台需要添加一些临时属性, 以便于数据的编辑,但前台不需要,这个时候就需要根据结构进行划分。
在写DanDan CMS系统的时候,刚开始,一切都不太清晰,这个时候比较凌乱,理不清头像。 但是这个时候的代码却是基础,如果这个时候基础设计不和里,等整个系统出来之后,就会 明显觉得当初结构设计是多么蹩脚,以至于束缚现有的开发。在DanDan CMS中就有这样的体会, 因此后期会进行很大的调整,但是所有的调整都是缓慢进行,不会一次性进行大的重构,保证 每次改变都是在整个体系清晰的情况下进行。
评论