1.架构(Architecture)
架构又称为体系结构,是一个软件系统从整体到部分的最高层次的划分。它是建造一个系统所作出的最高层次的、以后难以更改的,商业的和技术的决定。一旦系统开始进行详细设计甚至建造,这些决定就很难更改甚至无法更改。这样的决定必定是有关系统设计成败的最重要决定,必须经过非常慎重的研究和考察。
通常在一个开发小组中,最有经验的程序员会负责一些架构方面的工作。架构师是一个比较虚的职位,但是“每个好架构师都是一位出色的程序员”。类比于建筑物,架构就相当于设计图纸中的整体结构,结构设计的好坏直接影响建筑物的成败。
2.框架(Framework)
框架又称为应用架构,可认为是架构在特定领域下的应用,即在特定领域中基于架构的可重用设计。框架一般是通用的且不涉及到逻辑业务和界面显示,它通常定义了应用体系的整体结构类和对象的关系等设计参数,以便于具体应用实现者能集中精力于应用本身的特定细节。框架主要记录软件应用中共同的设计决策,强调设计复用,因此框架设计中必然要使用设计模式。利用现成的框架,你所做的就是填写所需代码,完成一个应用程序项目,比较常用的例子有MVC。
3.设计模式(Design Pattern)
设计模式是涉及到代码层的,为了实现代码复用一些前辈们将代码设计经验总结下来并经过大量的实践验证,其根本目的是为了代码复用,增加可维护性。它围绕几个原则展开,并在一定程度上实现这些原则,提高我们的代码质量。程序员们所熟知的HeadFirst、大话设计模式中都有很好的分类总结。
设计模式和框架可以说是架构之内的东西,因为一个架构中都会有设计模式和框架。但是我们不能说是某某架构的设计模式云云。显然设计模式也不同于框架(经常混淆在一起),因为它更加通用,是设计思想和经验的总结。
时间: 2024-11-13 09:58:44