有哪些可扩展性设计模式,它们的优缺点是什么?

时间:2011-03-09 08:21:23

标签: design-patterns content-management-system extensibility modularity

我正在开发一个新的CMS系统,我希望它能够为特定客户进行扩展或覆盖。 那里的信息是sparse,或者我看起来不够好,但我希望得到其他开发人员的亲身体验。

2 个答案:

答案 0 :(得分:2)

在设计CMS时,您可能正在寻找的是它的可插拔性。你的扩展点是否被很好地构思和思考。查看以下链接以获取可扩展性方面

  1. Pluggable Architecture
  2. Architecture & Design
  3. 对于设计方面,像Open/Close Principle, Interface Segregation原则这样的标准模式应该有所帮助。

    最终它是关于您的CMS可插拔多少以及您的核心CMS消费者必须投入多少精力来添加新组件。您可能还会发现此stackoverflow thread有用。

答案 1 :(得分:0)

首先,它听起来很复杂。但是,IMO可以通过简单地遵循基础来实现。在开发框架时,您应该非常关注以下内容 -

努力实现模块化设计 - 始终对接口进行编码,支持组合优于继承等。

为所有代码编写单元测试 - 这非常重要,因为测试不仅可以指导您进行松耦合设计,而且在验证向后兼容性方面也很重要,这是此类项目中的一个重要问题

仅构建所需内容并避免过多的前期设计和过度设计 - 请注意,框架最好从代码中提取而不是预先构建。在这样的项目中,很容易被带走并构建一些不需要的东西。不需要的功能不仅会浪费时间和金钱,还会使未来的变化变得困难。不要做太多的前期设计,并在小的迭代中构建东西,经常重构并使用单元测试作为安全网。