最近在看一些视频的时候,总是会出现框架呀、架构呀,以及在学习MVC的时候,想起在看《大话设计模式》的时候,提到过MVC。所以,我就想了解一下什么是框架,什么是架构,它们与设计模式这哥儿仨的关系是什么。。
定义
架构
是一种设计方案,将客户的不同需求抽象成为抽象组件,并且能够描述这些抽象组件之间的通信和调用。
框架
是一组有机组合的方法,是提取特定领域软件的共性部分形成的体系结构,不同领域的软件项目有着不同的框架类型。
框架是一个半成品,提供了诸多服务,开发人员进行二次开发,实现具体功能的应用系统。
设计模式
是一套可重复使用、代码设计经验的总结,它强调的是一个设计问题的解决方法。
框架VS 架构
框架比架构更具体,更偏重于技术,而架构偏重于设计。架构可以通过多种框架来实现。
框架VS 设计模式
设计模式是针对单一问题的设计思路和解决方法,一个模式可应用于不同的框架和被不同的语言所实现.
框架则是一个应用的体系结构,是一种或多种设计模式和代码的组合体。
虽然它们有所不同,但却共同致力于使人们的设计可以被重用,在思想上存在着统一性的特点,因而设计模式的思想可以在框架设计中进行应用。
总结
他们之间的关系是架构 > 框架 > 设计模式
首先架构应该是一个范畴最大的概念,是最高层次的设计。一个架构设计中可能会用到多个框架和多个设计模式。
框架是共性抽象出来的半成品,这里面可能包含着多个设计模式。
而设计模式就是解决单一问题的设计思路和解决方法。
所以我们在做一个项目的时候首先出来的应该是架构,是对整个项目的一个总体上的设计,之后再会考虑运用什么样的框架和设计模式来实现咱们的架构。
他们三兄弟都是遵循“高内聚,低耦合”的原则,他们的共同点是让咱们的设计面向对象、面向服务。