“规范”思想在软件中无处不在。诸如Canonical Model,Canonical Schema,Canonical Data Model等模式似乎在开发中一次又一次出现。
像许多开发人员一样,我经常不加批判地遵循传统的常识,即需要规范的模型,否则您将面对映射器和翻译器的组合爆炸。或者至少,我用来做,直到几年前,当我第一次读到了几分臭名昭著的不信任投票EF:
曾经支持追求规范数据模型的假设既没有也不可能包含一旦将想法付诸实践就会发现的因素。通过多年的反复试验,我们发现针对每个单独的上下文使用单独的模型(可能在其中使用规范的数据模型)是最简单的方法,也是成本最低的方法,并且可以带来更大的可维护性和可扩展性使用上下文模型的应用程序和端点,并且这种方法不会像规范模型那样鼓励软件熵。
这篇文章没有提供任何证据来支持其主张,但是确实让我质疑CDM方法足够长的时间以尝试替代方法,并且所产生的软件在字面上或形象上都没有爆炸。但这并不意味着要孤立很多。我本来可以很幸运。
因此,我想知道,是否对软件系统或体系结构中的规范模型与上下文模型的实际,长期影响进行了认真的研究?
或者,如果现在提出这个要求还为时过早,那么有没有任何开发人员/架构师撰写过有关从CDM切换到独立上下文模型(反之亦然)的个人经验的书,以及对生产率,复杂性或可靠性等方面的实际影响是什么?
那么在不同级别上的差异又如何呢?也就是说,在单个应用程序中使用同一模型与在应用程序系统或整个企业中使用模型之间的差异呢?
(请只提供事实;欢迎战争故事,但不能no测。)