什么是设计模式和架构模式之间的区别

如题所述

  设计模式是架构的手段(之一)。
  具体一点说,设计模式可以在某些情况帮助架构软件的静态结构。
  而架构的范围要大一些,更高层一些,考虑的更多的是非常重要的全局性的design decision。一般好的(静态)架构可以尽量使变化发生在局部(模块内)而不影响整个系统。架构上的变化往往成本会非常高。
  而且设计模式只有一些是适用于架构的,还有一些只是用于具体的类设计的,剩下的一些则只是克服编程语言的限制而已。

  打个不恰当的比方,有点像挡拆和战术的关系。
  在合适的情况下用好挡拆可以很好的执行战术,
  但战术不只有挡拆,
  而且有的战术不需要挡拆,
  最重要的是盲目的用挡拆有时候反而会起反作用。

  面对客户哔哔时,我们用需求分析架构。
  面对整个软件或系统时,我们谈论架构分析。
  面对软件模块设计时,我们使用设计模式。
  面对模块实现时,我们应用特定编程语言的特性。
  软件架构 :一般场景下拥有设计的选择权
  设计模式 :选择后特定场景下的最佳实践

  软件架构是软件的一种搭建形式,往往规定了软件的模块组成,通信接口(含通信数据结构),组件模型,集成框架等等。往往规定了具体的细节。
  设计模式是一种软件的实现方法,是一种抽象的方法论,是为了更好的实现软件而归纳出来的有效方法。
  实现一种软件架构,不同组成部分可能用到不同的设计模式,某一部分也可能可以采用不同的设计模式实现。
温馨提示:答案为网友推荐,仅供参考