模式:模型驱动设计(MODEL- DRIVEN DESIGN) 绑定模型和实现
为什么?
- 模型应该能够为应用程序的实现提供帮助。具体来说是模型应该可以转换成可存储、可检索的且具有事务完整性的单元。
- 如果模型不能驱动设计,那么程序员就会进行针对于程序的二次设计,这实际上是浪费,而且可能存在偏差风险。
- 维护模型和设计之间的映射关系也需要一定的成本
- 另外也会让模型成为纸上谈兵,无法形成有效的抽象和泛化。
- 模型的变动驱动代码的变动。保持两个的关联,有利于进一步迭代和扩展,保证程序的正确性。
- 如果模型和设计没有绑定,领域知识会丢失,无法形成良性的反馈闭环。
- 如果涉及复杂的领域,没有合理的模型,项目会举步维艰。
- 如果软件设计或者其核心部分没有与领域模型对应,那么这个模型就是没有价值的,软件的正确性也值得怀疑。
模型驱动设计
不再将分析模型和程序设计分开,而是寻求一种同时满足两种需求的单一模型。这种绑定不能因为技术考虑而削弱分析的功能,也不能接受只反映领域概念却舍弃软件设计原则的设计。两者要达到一种平衡。
怎么做?