CMS常见架构

时间:2010-03-26 23:38:38

标签: architecture web-applications content-management

我知道这是一个奇怪的问题,但我想知道是否有任何文档/博客文章解释了网站内容管理系统的架构?更具体地说,我有兴趣了解更多关于如何实现“小部件”的信息。

我不记得我见过哪个系统,但在“页面布局”视图中,它能够让最终用户选择一个小部件(缩略图库,联系表单等)从列表中,将其拖放到页面的自定义区域。

我知道这不是一个直接的编程问题,但我可以就此寻求建议/反馈。

谢谢!

2 个答案:

答案 0 :(得分:2)

CMS(通常)的体系结构可以说与任何其他类型的Web应用程序没有什么不同;您会发现对架构的最大影响将是功能性和非功能性要求:灵活性还是性能?本地安装还是托管?多租赁与否?等

这(包括图表 - http://www.morphological.geek.nz/Architecture/default.aspx)是我为CMS /网络应用程序框架所做的:

  • 孤立的不同责任领域,以确保在需要时的凝聚力/隔离。
  • 通过干净的界面抽象出数据访问实施。
  • 分离的内容,页面,页面布局和'皮肤'(外观和感觉)。
  • 设计API时考虑到了外部第三方的使用。
  • 尽我所能重用现有功能(AntiXSS库,MS Ent Libs,用户/角色成员资格提供商)。

我的框架的目标市场是在本地安装和运行,或者FTP到共享主机环境中的ISP(您无法完全控制平台)。

我首先考虑了灵活性(但试图记住表现);而且我不打算将它用作多租户系统。

答案 1 :(得分:2)

我不认为任何特定的CMS架构存在,有很多。你所谓的小部件可能就像一个基于组件的视图层。我们的想法是使用组件创建视图,可以对其进行配置和重用。这就是asp.net使用afaik的原因。另一方面,许多MVC框架不使用组件,因为MVC的本质是具有视图,这些视图稍微粗糙一些。可以轻松发现差异,并在Web应用程序和GUI应用程序之间进行最佳比较。大多数MVC Web应用程序使用某种模板引擎来创建最多具有某种部分的视图 - 模板嵌入。相比之下,GUI框架为您呈现“小部件”,这些小部件是您可以组成视图层的组件。 组件的优点在于可重用性,但存在刚性和与后端的一些耦合(它们的行为)。