3

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

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

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

谢谢!

4

2 回答 2

2

CMS 的架构(一般而言)可以说与任何其他类型的 Web 应用程序没有什么不同;你会发现对架构影响最大的将是功能性和非功能性需求:灵活性还是性能?本地安装还是托管?多租户与否?等等

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

  • 隔离不同的责任领域,以确保必要时的凝聚力/隔离。
  • 通过干净的接口抽象出数据访问实现。
  • 分离的内容、页面、页面布局和“皮肤”(外观和感觉)。
  • 设计 API 时考虑到外部第三方使用。
  • 尽可能重用现有功能(AntiXSS 库、MS Ent 库、用户/角色成员资格提供程序)。

我的框架的目标市场是安装并在本地运行或通过 FTP 传输到共享托管环境中的 ISP(您无法完全控制平台)。

我首先追求的是灵活性(但试图牢记性能);而且我不打算将它用作多租户系统。

于 2010-03-28T22:03:19.013 回答
2

我认为不存在任何特定的 CMS 架构,有很多。您所说的小部件可能类似于基于组件的视图层。这个想法是使用组件创建视图,可以配置和重用。这就是 asp.net 使用 afaik 的原因。另一方面,许多 MVC 框架不使用组件,因为 MVC 的本质是有视图,而视图的粒度更粗。Web 应用程序和 GUI 应用程序之间的差异可以很容易地发现并且最好的比较。大多数 MVC Web 应用程序使用某种模板引擎来创建最多包含某种部分的视图 - 模板嵌入。相比之下,GUI 框架为您提供“小部件”,这些小部件是您可以组成视图层的组件。组件的优势在于可重用性,

于 2010-03-29T01:03:49.350 回答