模式 :模式,即Pattern
其实就是解决某一类问题的方法论
把解决某类问题的方法总结归纳到理论高度,那就是模式
Alexander给出的经典定义是:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心
通过这种方式,你可以无数次地使用那些已有的解决方案,无需再重复相同的工作
模式有不同的领域,建筑领域有建筑模式,软件设计领域也有设计模式
当一个领域逐渐成熟的时候,自然会出现很多模式
设计模式和面向对象的设计模式:设计模式( Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结
使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性
设计模式最初来源于建筑学
GOF (“四人帮 ”,指 Gamma, Helm, Johnson & Vlissides, Addison-Wesley四人) 的《设计模式》 (1995年出版) 是第一次将设计模式提升到理论高度,并将之规范化,本系列文章主要就是讲解这23 种经典的设计模式
面向对象设计的模式,顾名思义,就是在面向对象分析与设计中使用的设计模式,GOF23种设计模式同时也是面向对象的设计模式,本文不做区分
良好的设计模式运用可以实现软件设计的 “高内聚、低耦合”,提高软件的复用性和可扩展性
框架 :框架,即Framework
其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统
简单说就是使用别人搭好的舞台,你来做表演
而且,框架一般是成熟的,不断升级的软件
框架一般处在低层应用平台(如J2EE )和高层业务逻辑之间的中间层
架构:架构( Architecture)是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计
架构是一个系统的草图
架构描述的对象是直接构成系统的抽象组件
各个组件之间的连接则明确和相对细致地描述组件