1、架构
架构指一个软件系统的结构。一个软件系统或者系统中的某一个模块,都会涉及到架构,架构清晰表示软件结构良好。
架构就是在考虑了一个软件系统的所有设计要素后,梳理清楚模块划分,以及模块之间的关系,所形成的软件的结构设计,即如何布局好各个模块的作用和相互关系。
2、框架
框架设计了应用中各个环节的联动,每个环节可能使用了一些设计模式,但是这些环节不是孤立存在的,每个环节可以互相帮衬,在整个应用中有自己的的战略地位,各个环节的流程也是需要安排好的。
好的框架已经把基础设施搭建好了,例如网络的处理、模块间的通讯、数据存储、安全性等等,程序员只需要把精力放在怎么写好业务逻辑上就可以了。
3、设计模式
设计模式是用来解决编程中遇到的问题的各种套路,非常明确的告诉你遇到什么样的编程类型的问题用什么样的套路,常用的有23种设计模式。
设计模式关注的是写代码过程中遇到的非常具体的某一类问题,比如一个模块希望在另一个模块发生一些事件时得到一些通知,然后执行自己的的一些业务逻辑,这时就可以使用设计模式中的观察者模式。
4、比较
设计模式是在遇到某类问题时候特定的解决思路。
框架是一种实体的设计,它对性质相同的应用做了设计上的抽象,在遇到需要新开发的同性质的应用时,则可以套用框架,实现快速开发。
架构是一种设计决策,更偏向于思想层面的,落到实处就是代码写出来的框架。
——部分内容整理自网络——