您的位置首页百科问答

软件架构和设计模式有什么区别

软件架构和设计模式有什么区别

设计模式是架构的手段(之一)。

具体一点说,设计模式可以在某些情况帮助架构软件的静态结构。

而架构的范围要大一些,更高层一些,考虑的更多的是非常重要的全局性的design decision。一般好的(静态)架构可以尽量使变化发生在局部(模块内)而不影响整个系统。架构上的变化往往成本会非常高。

而且设计模式只有一些是适用于架构的,还有一些只是用于具体的类设计的,剩下的一些则只是克服编程语言的限制而已。

打个不恰当的比方,有点像挡拆和战术的关系。

在合适的情况下用好挡拆可以很好的执行战术,

但战术不只有挡拆,

而且有的战术不需要挡拆,

最重要的是盲目的用挡拆有时候反而会起反作用。

面对客户哔哔时,我们用需求分析架构。

面对整个软件或系统时,我们谈论架构分析。

面对软件模块设计时,我们使用设计模式。

面对模块实现时,我们应用特定编程语言的特性。

软件架构 :一般场景下拥有设计的选择权

设计模式 :选择后特定场景下的最佳实践

软件架构是软件的一种搭建形式,往往规定了软件的模块组成,通信接口(含通信数据结构),组件模型,集成框架等等。往往规定了具体的细节。

设计模式是一种软件的实现方法,是一种抽象的方法论,是为了更好的实现软件而归纳出来的有效方法。

实现一种软件架构,不同组成部分可能用到不同的设计模式,某一部分也可能可以采用不同的设计模式实现。

抖音看短剧