架构整理资料.doc
《架构整理资料.doc》由会员分享,可在线阅读,更多相关《架构整理资料.doc(8页珍藏版)》请在沃文网上搜索。
1、1. 8架构、模式、框架的区别架构、框架、模式是一种从大到小的关系,也是一种组合关系。从复用角度讲,设计模式是代码级复用、框架是模块级复用、架构是系统级复用、平台是应用级复用。架构一般针对一个行业或一类应用,是技术和应用完美的结合。框架比架构更具体,框架不是现成可用的应用系统。是一个半成品,需要后来的开发人员进行二次开发,实现具体功能的应用系统。框架是为了解决特定问题而存在的,其它诸如ORM框架、模板框架、缓存框架,框架不能直接使用,需要二次开发。设计模式就是告诉你针对特定问题如何组织类、对象和接口之间的关系,是前人总结的经验。设计模式和框架在软件设计中是两个不同的研究领域。设计模式研究的是一
2、个设计问题的解决方法,一个模式可应用于不同的框架和被不同的语言所实现;而框架则是一个应用的体系结构,是一种或多种设计模式和代码的混合体虽然它们有所不同,但却共同致力于使人们的设计可以被重用,在思想上存在着统一性的特点,因而设计模式的思想可以在框架设计中进行应用。模式:是在给定的上下文中针对一个常见问题的一个常规解决方法。平台的概念类似框架,但又结合的架构的考虑,它是更高层面上的“框架”,准确说是一种应用。它是针对企业用户,为解决企业业务需要而形成的产品。2. 面向对象设计原则类的设计原则:开闭原则、依赖倒置原则、Liskov替换原则、单一职责原则、接口分离原则、组合复用原则、所知最少原则包内聚
3、原则:发布与复用等价原则、共同封闭原则、共同复用原则包耦合原则:无循环的依赖原则、稳定的依赖原则、稳定的抽象原则3. 23种GOF模式的分类(创建型、结构型、行为型;要了解常用模式属于哪种类型,如:适配器模式属于结构型;理解工厂模式、观察者模式、适配器模式、)创建型模式(描述怎样创建一个对象,而隐藏对象的具体细节,使得代码不依赖具体的对象) -创建型类模式将对象的部分创建工作延迟到子类-创建型对象模式将它延迟到另一个对象中结构模式(处理类或对象的组合,即描述类或对象之间怎样组织起来形成更大的结构,从而实现更大的功能)-结构型类模式使用继承机制来组合类-结构型对象模式描述了对象间的组装方式行为型
4、模式(描述算法及对象之间的任务(职责)分配)-行为型类模式使用继承描述算法与控制法-行为型对象模式则描述一组对象怎样协作完成单个对象无法完成的工作创建型模式通过抽象实例化的过程,使得系统与具体对象的创建、组合和表示独立;把系统使用了哪些具体的类的信息封装在一起,而隐藏了这些类的实例是如何被创建和组织在一起;整个系统关于这些对象所知道的仅仅是由抽象类所定义的接口。系统类的创建模式使用继承改变被实例化的类,对象创建模式将实例化委托给另一个对象创建型模式有:1、抽象工厂2、工厂方法结构型模式有:1、适配器模式2、外观模式行为型模式有:1、迭代器模式2、访问者模式抽象工厂:意图:提供一个创建一系列相关
5、或相互依赖对象的接口,而无须指定它们具体的类。案例:要求支持多平台的文字处理工具(窗口风格的平台无关性)思路:定义一个抽象类,用以声明用于创建每一种窗口构件(如按钮、滚动条)的接口,而具体子类则实现特定风格。这样,用户在使用时只需提出要求(参数)而无需知道哪个类具体完成 适用性:一个系统要独立于它的产品的创建、组合和表示时;一个系统要由多个产品系列中的一个来装配时(多选一);软件生产采用产品线的部件系列进行组装,得到具体产品时工厂方法:意图:定义一个用于创建对象的接口,让子类决定实例化哪个类,使一个类的实例化延迟至子类。案例:在一个图形文档应用中,类APPICATION负责图形文档的管理(创建
6、、存储等),类DOCUMENT负责具体图形文档的编辑。(在实例化D之前A并不知D编辑生成的是什么类型的文件)工厂方法角色与结构抽象工厂接口(Creator):是工厂方法模式的核心,与应用程序无关。任何在模式中创建的对象的工厂类必须实现这个接口具体工厂类(ConcreteCreator):是实现抽象工厂接口的具体工厂类,与应用程序密切相关,在应用程序的调用下,这些类用于创建产品实例。抽象产品(Product):是工厂方法模式所创建的对象的父类,或它们共同拥有的接口。具体产品(ConcreteProduct):实现了抽象产品所定义的接口,是工厂方法模式所创建的对象所属的类优点:工厂方法模式可以使系
7、统在不修改具体工厂角色的情况下引进新的产品适配器模式:意图:可以使某个类的接口转换成用户所希望的另一个类的接口适用场合:1)要想使用一个已经存在的类,而它的接口不符合需求2)创建一个可复用的类,该类可与其它不相关的类或接口可能不一定兼容的类协同工作,类适配器使用多重继承对一个接口对另一个接口进行匹配;对象适配器依赖于对象组合观察者模式(ObserverPattern):定义:对象间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新。观察者模式包含如下角色: Subject:目标 ConcreteSubject:具体目标 Observer:观察者 Conc
8、reteObserver:具体观察者观察者模式描述了如何建立对象与对象之间的依赖关系,如何构造满足这种需求的系统?这一模式中的关键对象是观察目标和观察者,一个目标可以有任意数目的与之相依赖的观察者,一旦目标的状态发生改变,所有的观察者都将得到通知。作为对这个通知的响应,每个观察者都将即时更新自己的状态,以与目标状态同步,这种交互也称为发布-订阅(publish-subscribe)。目标是通知的发布者,它发出通知时并不需要知道谁是它的观察者,可以有任意数目的观察者订阅它并接收通知。观察者模式的优点:(1)观察者模式可以实现表示层和数据逻辑层的分离,并定义了稳定的消息更新传递机制,抽象了更新接口
9、,使得可以有各种各样不同的表示层作为具体观察者角色。(2)观察者模式在观察目标和观察者之间建立一个抽象的耦合。(3)观察者模式支持广播通信。(4)观察者模式符合“开闭原则”的要求观察者模式的缺点:(1)如果一个观察目标对象有很多直接和间接的观察者的话,将所有的观察者都通知到会花费很多时间。(2)如果在观察者和观察目标之间有循环依赖的话,观察目标会触发它们之间进行循环调用,可能导致系统崩溃。(3)观察者模式没有相应的机制让观察者知道所观察的目标对象是怎么发生变化的,而仅仅只是知道观察目标发生了变化。在以下情况下可以使用观察者模式:(1)一个抽象模型有两个方面,其中一个方面依赖于另一个方面。将这些
10、方面封装在独立的对象中使它们可以各自独立地改变和复用。 (2)一个对象的改变将导致其他一个或多个对象也发生改变,而知道具体有多少对象将发生改变,可以降低对象之间的耦合度。(3)一个对象必须通知其他对象,而并不知道这些对象是谁。(4)需要在系统中创建一个触发链,A对象的行为将影响B对象,B对象的行为将影响C对象,可以使用观察者模式创建一种链式触发机制。模式扩展:MVC模式MVC模式是一种架构模式,它包含三个角色:模型(Model),视图(View)和控制器(Controller)。观察者模式可以用来实现MVC模式,观察者模式中的观察目标就是MVC模式中的模型(Model),而观察者就是MVC中的
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 架构 整理 资料