首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

.NET Core实战项目之CMS 第十一章 开发篇-数据库生成及实体代码生成器开发

上篇给大家从零开始搭建了一个我们的ASP.NET Core CMS系统的开发框架,具体为什么那样设计我也已经在第十篇文章中进行了说明。不过文章发布后很多人都说了这样的分层不是很合理,什么数据库实体应该跟仓储放在一起形成领域对象,什么ViewModel应该放在应用层结构仓储层与UI层。其实我想说的是,这样都没问题,看你自己的理解了!我上篇文章已经说了,如果你愿意,完全可以把所有的层融合在一起,随意合并分离这个依你个人喜好。 我也是本着简单原则以及合适原则的思想来进行那样的分层结构,觉得这样层次更分明些。还有虽然现在DDD的思想很流行,但是实现起来确很复杂,小项目就别那样折腾了。如果你有不同的意见,欢迎加群讨论。什么?你问我群号?自己找去,我才不会告诉你!

04

cms原理简析

CMS的功能简单来说可以表述如下: 一个内容管理系统是把一个网站的内容(文字,图片,等等)与网站的组件分离开来,可以将各个页面连接到一起,可以控制页面的显示。通过这个系统,可以方便的管理、发布、维护网站的内容,而不再需要硬性的写HTML代码或手工建立每一个页面。 因此要实现后台系统对前台网站进行管理,首先应该分析一下前台网站的结构。前台网站结构可以用下图来表示: 总的来说,网站的页面可以分为三类:首页类、栏目类、内容页类。首页类是由多个栏目信息(多种信息源)的集成。栏目类是对某一类型信息的一个集成,而页面显示样式可能是列表,也可能是列表集合,或者单条信息集合(即将多个单条信息分布于页面的不同位置)。内容页是单条信息的详细内容。 针对任何一个页面来讲,它都是由HTML结构及数据组成的。HTML结构代表了页面的版式、色调样式等等外观性展示,这在CMS里面可以用模板来表示。页面中的数据内容就可以分为多种内容来源,反映在数据库上是多个表结构,在面向对象技术里表示为多个对象。常见的一些内容来源有:新闻(文章)、图片、下载、一般性信息、产品、评论、投票、链接、订单、短消息、留言、企业黄页等等多种数据格式。这些都是CMS需要管理的对象,CMS可以为每一类数据建立一个数据库表,另外还需要提供扩展方式以供用户定制使用。 其次,将各个页面链接起来和网站信息构建中网站内容分类时,需要建立一个导航体系或者说是内容体系,它是一种层次性分类结构。这可以用CMS里面的栏目来进行管理。

02
领券