我知道这是一个奇怪的问题,但我想知道是否有任何文档/博客文章解释了网站内容管理系统的架构?更具体地说,我有兴趣了解更多关于如何实现“小部件”的信息。
我不记得我见过哪个系统,但在“页面布局”视图中,它能够让最终用户选择一个小部件(缩略图库,联系表单等)从列表中,将其拖放到页面的自定义区域。
我知道这不是一个直接的编程问题,但我可以就此寻求建议/反馈。
谢谢!
答案 0 :(得分:2)
CMS(通常)的体系结构可以说与任何其他类型的Web应用程序没有什么不同;您会发现对架构的最大影响将是功能性和非功能性要求:灵活性还是性能?本地安装还是托管?多租赁与否?等
这(包括图表 - http://www.morphological.geek.nz/Architecture/default.aspx)是我为CMS /网络应用程序框架所做的:
我的框架的目标市场是在本地安装和运行,或者FTP到共享主机环境中的ISP(您无法完全控制平台)。
我首先考虑了灵活性(但试图记住表现);而且我不打算将它用作多租户系统。
答案 1 :(得分:2)
我不认为任何特定的CMS架构存在,有很多。你所谓的小部件可能就像一个基于组件的视图层。我们的想法是使用组件创建视图,可以对其进行配置和重用。这就是asp.net使用afaik的原因。另一方面,许多MVC框架不使用组件,因为MVC的本质是具有视图,这些视图稍微粗糙一些。可以轻松发现差异,并在Web应用程序和GUI应用程序之间进行最佳比较。大多数MVC Web应用程序使用某种模板引擎来创建最多具有某种部分的视图 - 模板嵌入。相比之下,GUI框架为您呈现“小部件”,这些小部件是您可以组成视图层的组件。 组件的优点在于可重用性,但存在刚性和与后端的一些耦合(它们的行为)。