架构,框架和设计模式的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了架构,框架和设计模式的区别相关的知识,希望对你有一定的参考价值。

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

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

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

  软件架构是软件的一种搭建形式,往往规定了软件的模块组成,通信接口(含通信数据结构),组件模型,集成框架等等。往往规定了具体的细节。
  设计模式是一种软件的实现方法,是一种抽象的方法论,是为了更好的实现软件而归纳出来的有效方法。
  实现一种软件架构,不同组成部分可能用到不同的设计模式,某一部分也可能可以采用不同的设计模式实现。
参考技术A 类库:封装好的代码,通过调用开放出来的API获取相应的功能 框架:也是封装好的代码,不过会功能更加多样,一个框架会包含多个类库,并且框架面向的顶层的开发,而类库更多的是面向底层的开发。 SDK:Software Development Kit

以上是关于架构,框架和设计模式的区别的主要内容,如果未能解决你的问题,请参考以下文章

架构框架设计模式的定义和区别

架构,框架,模式,模块组件插件的含义和区别

架构框架模式和平台的区别

框架模式和设计模式的区别

.net有怎么框架啊、像MVC(是设计模式还是框架呢)、还有怎么WCF,WPF、和架构怎么区别呢?

软件架构, 软件框架,设计模式的区别