dev*_*ium 39 architecture architectural-patterns
在软件架构 - 基础,理论和实践中,我可以找到两者的定义.问题是,我不能用简单的英语得到每个人的意思:
体系结构模式是体系结构设计决策的命名集合,适用于参数化的重复设计问题,以解决出现该问题的不同软件开发环境.
建筑风格是建筑设计决策的命名集合,(1)适用于给定的开发环境,(2)约束特定于该环境中特定系统的建筑设计决策,以及(3)在每个环境中引出有益的品质结果系统.
每个人的意思是什么,他们之间有什么区别?
dev*_*ium 49
建筑模式是解决重复出现的建筑问题的一种方式.例如,MVC解决了将UI与模型分离的问题.传感器 - 控制器 - 执行器,是一种模式,可以帮助您解决面对多种输入感觉的问题.
另一方面,建筑风格只是经常性建筑设计的名称.与模式相反,它不存在"解决"问题.
管道和过滤器不能解决任何特定问题,它只是组织代码的一种方式.客户/服务器,主程序和子程序以及抽象数据类型/ OO,相同.
此外,单个体系结构可以包含多种体系结构样式,每种体系结构样式都可以使用多种体系结构模式.
Jag*_*mag 10
坦率地说,我一直认为这两个术语都是同义词!外行(相对而言)文学肯定会将它们视为这样.请参阅MSDN或维基百科
然而,你的问题引起了我的兴趣,所以我做了更多的挖掘和坦率地说...除了参考企业架构实用指南(The Coad Series)之外我找不到多少,我从中引用: -
An architectural style (Base et al. 1997) and an architectural pattern
(Buschmann et al. 1996) are essentially synonymous.
Run Code Online (Sandbox Code Playgroud)
基于一些更多的谷歌搜索,这是我认为可能是区分这两者的一种可能方式
架构模式如何与设计模式不同,即适配器,观察者基本上是应用它们的粒度级别(我知道这不是问题的一部分,但我认为它是相关的)
建筑风格是抽象的即概念性的.
+---------------+--------------------------------------------------------+
| Category | Architecture styles |
+---------------+--------------------------------------------------------+
| Communication | SOA, ROA, Message Bus |
| Deployment | Client/Server |
| Domain | Domain Driven Design,Monolithic application |
| Structure | Component-Based, Object-Oriented, Layered, Plug-ins |
+---------------+--------------------------------------------------------+
Run Code Online (Sandbox Code Playgroud)
建筑模式具体即建筑风格的实施.
设计模式是建筑级软件设计中常见问题的通用可重用解决方案.
比喻:不同宗教的寺庙建筑风格:
用非常简单的话说:
是一个概念,理论(以及它如何实现它取决于你).它也适用于软件世界之外.
例如:REST(Representational State Transfer)是一种使用当前"Web"基础构建在某些原则上的架构风格.
描述软件系统(或模块)级别的解决方案.换句话说,它如何相互作用,例如视图与模型,模型与控制器.
它是核心级别的解决方案,它讨论了类,函数以及逻辑流程的实际情况.