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