【发布时间】:2019-11-26 05:56:02
【问题描述】:
据我了解,MVC、MVVM、SOA、Onion 是一种架构,但我真的很困惑。我认为这是不正确的,我假设它们都定义为相同的架构概念。我想知道关于建筑的真相是什么……
【问题讨论】:
标签: architecture definition concept
据我了解,MVC、MVVM、SOA、Onion 是一种架构,但我真的很困惑。我认为这是不正确的,我假设它们都定义为相同的架构概念。我想知道关于建筑的真相是什么……
【问题讨论】:
标签: architecture definition concept
这个问题非常广泛,没有一个普遍接受的答案。它可能迟早会被否决并关闭。无论如何,我会尽力回答。
架构是特定软件的属性。 MVC、MVVM 和 SOA 是可以由不同的软件实现的架构模式。
架构有很多定义。我最喜欢的是:
“重要且以后很难改变的事情。”
这个定义是由 Martin Fowler 提出的,但我不确定他是否是第一个提出这个定义的人。我喜欢它,因为它清楚地表明,拥有比绝对需要更多的架构是一件坏事,尤其是在一个可能发生变化且未来难以预测的世界中。
【讨论】:
IASA 将架构定义为:
“IT 架构是设计和交付有价值的技术战略的艺术和科学。”
Tom Gilb 将其定义为:
“‘架构’是实际存在的实体集,通过约束或影响相关工程决策直接或间接影响一组系统属性。”
基本上,它们是应提前做出的重大决策,以确保您能够交付。正如弗兰克所说,他们以后很难改变。
【讨论】: