我正在开发一个新的CMS系统,我希望它能够为特定客户进行扩展或覆盖。 那里的信息是sparse,或者我看起来不够好,但我希望得到其他开发人员的亲身体验。
答案 0 :(得分:2)
在设计CMS时,您可能正在寻找的是它的可插拔性。你的扩展点是否被很好地构思和思考。查看以下链接以获取可扩展性方面
对于设计方面,像Open/Close Principle, Interface Segregation原则这样的标准模式应该有所帮助。
最终它是关于您的CMS可插拔多少以及您的核心CMS消费者必须投入多少精力来添加新组件。您可能还会发现此stackoverflow thread有用。
答案 1 :(得分:0)
首先,它听起来很复杂。但是,IMO可以通过简单地遵循基础来实现。在开发框架时,您应该非常关注以下内容 -
努力实现模块化设计 - 始终对接口进行编码,支持组合优于继承等。
为所有代码编写单元测试 - 这非常重要,因为测试不仅可以指导您进行松耦合设计,而且在验证向后兼容性方面也很重要,这是此类项目中的一个重要问题
仅构建所需内容并避免过多的前期设计和过度设计 - 请注意,框架最好从代码中提取而不是预先构建。在这样的项目中,很容易被带走并构建一些不需要的东西。不需要的功能不仅会浪费时间和金钱,还会使未来的变化变得困难。不要做太多的前期设计,并在小的迭代中构建东西,经常重构并使用单元测试作为安全网。