设计模式、框架与结构小结

1.架构(Architecture)

架构又称为体系结构,是一个软件系统从整体到部分的最高层次的划分。它是建造一个系统所作出的最高层次的、以后难以更改的,商业的和技术的决定。一旦系统开始进行详细设计甚至建造,这些决定就很难更改甚至无法更改。这样的决定必定是有关系统设计成败的最重要决定,必须经过非常慎重的研究和考察。

通常在一个开发小组中,最有经验的程序员会负责一些架构方面的工作。架构师是一个比较虚的职位,但是“每个好架构师都是一位出色的程序员”。类比于建筑物,架构就相当于设计图纸中的整体结构,结构设计的好坏直接影响建筑物的成败。

2.框架(Framework)

框架又称为应用架构,可认为是架构在特定领域下的应用,即在特定领域中基于架构的可重用设计。框架一般是通用的且不涉及到逻辑业务和界面显示,它通常定义了应用体系的整体结构类和对象的关系等设计参数,以便于具体应用实现者能集中精力于应用本身的特定细节。框架主要记录软件应用中共同的设计决策,强调设计复用,因此框架设计中必然要使用设计模式。利用现成的框架,你所做的就是填写所需代码,完成一个应用程序项目,比较常用的例子有MVC。

3.设计模式(Design Pattern)

设计模式是涉及到代码层的,为了实现代码复用一些前辈们将代码设计经验总结下来并经过大量的实践验证,其根本目的是为了代码复用,增加可维护性。它围绕几个原则展开,并在一定程度上实现这些原则,提高我们的代码质量。程序员们所熟知的HeadFirst、大话设计模式中都有很好的分类总结。

设计模式和框架可以说是架构之内的东西,因为一个架构中都会有设计模式和框架。但是我们不能说是某某架构的设计模式云云。显然设计模式也不同于框架(经常混淆在一起),因为它更加通用,是设计思想和经验的总结。

时间: 2024-11-13 09:58:44

设计模式、框架与结构小结的相关文章

PHP自定义框架部分知识点小结(一)

PHP自定义框架部分知识点小结(一) 网络上有大量优秀的MVC框架可供使用,但自定义框架并不是为了开发一个全面的.终极的MVC框架解决方案,而是将它看作是一个很好的从内部学习PHP的机会,在此过程中,将会学习面向对象编程和MVC设计模式,并学习到开发中的一些注意事项. Web MVC的流程体现如下图: 一个典型的Web MVC流程: Controller截获用户发出的请求: Controller调用对应的Model: Model调用DAO(基于PDO操作数据库的封装类)完成状态的读写操作: Co

介绍Collection框架的结构;Collection 和 Collections的区别

介绍Collection框架的结构:Collection 和 Collections的区别 集合框架: Collection:List列表,Set集 Map:Hashtable,HashMap,TreeMap Collection  是单列集合 List   元素是有序的.可重复 有序的 collection,可以对列表中每个元素的插入位置进行精确地控制. 可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素. 可存放重复元素,元素存取是有序的. List接口中常用类 l Vec

从头开始-07.Foundation框架常用结构体

一.Foundation框架常用结构体NSRange\CGRange.NSPoint\CGPoint.NSSize\CGSize. NSRect\CGRect 的使用 1.  基本使用: //NSRange的使用 NSRange r1 = NSMakeRange(2, 4); //第一个参数为.location 第二个参数为.length NSString *str = @"学习OC"; NSRange range = [str rangeOfString:@"学习"

[转]使用设计模式改善程序结构(三)

使用设计模式改善程序结构(三) 设计模式在某种程度上确实能够改善我们的程序结构,使设计具有更好的弹性.也正是由于这个原因,会导致我们可能过度的使用它.程序结构具有过度的.不必要的灵活性和程序结构没有灵活性一样都是有害的.本文将分析过度的灵活性可能造成的危害,并且结合一些实例来阐述使用设计模式改善程序结构应遵循的原则. 1. 介绍 本系列文章的前两篇主要讲述了如何使用设计模式来改善我们的程序结构,大家可以看到经过调整的代码具有了更大的弹性,更容易适应变化.读者朋友可能也具有类似的经验,通过使用设计

[转]使用设计模式改善程序结构(一)

使用设计模式改善程序结构(一) 设计模式是对特定问题经过无数次经验总结后提出的能够解决它的优雅的方案.但是,如果想要真正使设计模式发挥最大作用,仅仅知道设计模式是什么,以及它是如何实现的是很不够的,因为那样就不能使你对于设计模式有真正的理解,也就不能够在自己的设计中正确.恰当的使用设计模式.本文试图从另一个角度(设计模式的意图.动机)来看待设计模式,通过这种新的思路,设计模式会变得非常贴近你的设计过程,并且能够指导.简化你的设计,最终将会导出一个优秀的解决方案. 1.介绍 在进行项目的开发活动中

[转]使用设计模式改善程序结构(二)

使用设计模式改善程序结构(二) 在本系列的 第一篇文章中,描述了如何通过设计模式来指导我们的程序重构过程,并且着重介绍了设计模式意图.动机的重要性.在本文中我们将继续上篇文章进行讨论,这次主要着重于设计模式的适用性,对于设计模式适用性的掌握有助于从另一个不同的方面来判断一个设计模式是否真正适用于我们的实际问题,从而做出明智的选择. 1. 回顾 在上一篇文章中,我们给出了一个使用设计模式来改善程序结构的例子,着重介绍了设计模式的意图.动机在我们程序重构过程中的指导作用. 现在,我们将关注设计模式的

设计模式大类--结构模式(上)

大概有7中结构模式,分为上下两篇.一.Adapter(适配器)描述:将两个不兼容的类结合一起使用,一般需要用到其中某个类的若干方法好处:在两个类直接创建一个混合接口,而不必修改类里面的其他代码 例子:假设我们要打桩,有两种类:方形桩 圆形桩.public class SquarePeg{ public void insert(String str){ System.out.println("SquarePeg insert():"+str); } } public class Roun

android插件化-apkplug框架基本结构-01

由于框架开发更新频繁的原因一直都没有时间写出框架的基本架构让大家云里雾里的,现在框架已基本稳定和完善,我就抽出时间写写关于apkplug框架的基本架构和原理,同时也跟大家一起研究利用apkplug框架玩出更新的功能. 一 apkplug的基本架构 apkplug简单的说是一个容器它将apk文件解析并映射成Bundle ,下文我们简称Bundle为插件.如下图 每一个apk插件被映射到apkplug框架中就是一个Bundle对象,完整路径为 org.osgi.framework.Bundle .通

设计模式<框架<架构<平台

设计模式<框架<架构<平台,从复用角度讲,设计模式是代码级复用.框架是模块级复用.架构是系统级复用.平台是企业应用级复用. 1.设计模式 为什么要先说设计模式?因为设计模式在这些概念中是最基本的,而且也比较简单.那么什么是设计模式呢?说的直白点,设计模式就是告诉你针对特定问题如何组织类.对象和接口之间的关系,是前人总结的经验.比如我要在代码中实现一个全局唯一的配置类,那么就使用Singleton模式.设计模式在实际编码工作和设计框架时会被使用到,而更高层的架构和平台则不会太关注它. 2.