|
目的
|
创建型
|
结构型
|
行为型
|
范
围
|
类
|
工厂方法(Factory Method)
|
适配器(类,Adapter)
|
解释器(Interpreter)
模板方法(Template Method)
|
对
象
|
抽象工厂(Abstract Factory)
生成器(Builder)
原型(Prototype)
单件(Singleton)
|
适配器(对象,Adapter)
桥接(Bridge)
组成(Composite)
装饰(Decorator)
外观(Facade)
享元(Flyweight)
代理(Proxy)
|
职责链(Chain of Responsibility)
命 令(Command)
迭代器(Iterator)
中介者(Mediator)
备忘录(Memento)
观察者(Observer)
状 态(State)
策 略(Strategy)
访问者(Visitor)
|
框架从其功能结构化分可分为白箱框架和黑箱框架,白箱框架的设计需要设计者了解要设计的框架的具体功能和内部结构,通过类的继承和设计模式的组合来生成框架。白盒框架是一个程序骨架,而衍生出的子类是这个骨架上的附属品。黑箱框架则是利用对象组合或代理机制实现,它的构建比白箱框架更难。
框架从复用的粒度划分,可分为:
l 系统架构框架:这些框架能够使基础系统的开发遍的简单、移植性好、高效,如操作系统的基础架构、通信框架、用户界面框架和语言处理工具,他们用于构建系统的内部组织,而不直接面向最终客户;
l 中间件集成框架:他们通常用于在分布式系统中集成应用和组件,用于提高软件的模块化、复用性和扩展性,无缝集成分布式应用环境中的应用。例如, ORB 框架、消息中间件和事务中间件;
l 企业应用框架:这种框架可应用于各行各业,直接面向具体的应用。
框架强调的是软件的设计重用性和系统的可扩充性。在软激发过程中应用框架技术以缩短大型应用软件系统的开发周期,提高开发质量。与传统的基于类库的面向对象技术比较,框架更注重于面向专业领域的软件重用,具有领域相关性,可以对现有构件根据框架进行复合,生成可运行的系统。框架的粒度越大,其中包含的领域知识就更加完整。
设计模式与框架的比较
框架能使应用程序的开发简单,价格低廉,但是开发框架不是一件容易的事。它是一个需要领域和设计经验的反复过程。设计模式可以简化这个过程,因为它提供了对过去经验的抽象。框架能高度抽象同一领域内的问题,进而降低开发难度和强度。因此,在软件开发过程中把框架和模式配合起来使用,可以极大地提高软件的重用。框架和模式都是提高软复用的技术手段,他们之间互相联系但又有所侧重:
l 设计模式比框架更抽象:应用框架能够用代码表示,而设计模式只有其实例才能表示为代码。框架能够使用程序设计语言写出来,不仅能被学习,也能被直接执行和复用。而设计模式的每一次复用时,都需要被实现。设计模式需要解释它的意图、权衡和设计效果。
l 设计模式是比框架更小的体系结构元素:一个典型的框架包括了多个设计模式。
l 框架比设计模式更加特征化:框架总是针对一个特定的应用领域,而设计模式至少要包括两个不同的应用领域。
如果说类库通常是代码重用,而设计模式是设计重用,那么框架则介于两者之间,部分代码重用,部分设计重用,有时分析也可重用。在软件生产中有三种级别的重用:内部重用——对同一应用中能公共使用功能抽象复用;代码重用——将通用模块组合成库或工具集,以便在多个应用和领域都能使用;应用框架的重用——为专用领域提供通用的或现成的基础结构,以便于集成或组装其他功能块达到更高级别的重用性。简单地说,框架是软件,而设计模式是软件的知识(即开发软件的先验经验)。
分享到:
相关推荐
本文探讨了J2EE设计模式与框架技术在构建Web系统中的应用,特别研究了Struts和Hibernate两大框架的作用。 在J2EE设计模式中,MVC(Model-View-Controller)模式是最核心的设计之一,它将应用程序分为三个核心组件:...
- **生态兼容性**:考虑框架与其他技术栈的集成能力,如数据库支持、第三方库等。 - **未来发展趋势**:选择那些持续发展且有良好前景的框架。 #### 第五章:设计模式在框架中的应用 - **MVC(Model-View-...
设计模式与框架源码分析-源码课件 1.笔记, 2.资料 3.代码
其次,“模式”部分会讲解软件设计模式,这是解决常见编程问题的最佳实践。例如,工厂模式、单例模式、观察者模式等,都是在PHP开发中经常用到的设计模式。通过理解这些模式,开发者可以写出更灵活、可扩展的代码,...
设计模式、框架及其实践是软件开发领域中提升设计能力的重要工具。通过本书,作者张永吉旨在引导读者从基础知识到高级技巧,逐步成为一名精通软件设计的专家。 首先,成为象棋高手的过程与成为软件设计高手有...
├─第一章 旭瑶-小滴架构师成长系列软件设计模式课程介绍 │ 1.2设计模式全家桶课程大纲速览.mp4 │ ├─第二章 想成为架构师的你,不可不知道的设计模式精髓 │ 2.1设计模式的六大原则你知道多少.mp4 │ 2.3...
Apache Tomcat项目旨在与来自世界各地的最佳开发人员合作。 我们邀请您参加这个开放的开发项目。 要了解有关参与的更多信息,或继续阅读。 Apache Tomcat软件为各种行业和组织中的众多大型,关键任务Web应用程序...
### 使用设计模式与框架开发面向对象的通信系统 #### 概述 《使用设计模式与框架来开发面向对象的通信系统》是由道格拉斯·C·施密特撰写的学术文章,该文章深入探讨了如何利用设计模式和框架来解决在开发高效、...
《PHP高级程序设计:模式框架与测试》是一本深度探讨PHP编程的专业书籍,由人民邮电出版社出版。这本书旨在帮助开发者提升PHP编程技能,掌握更高效、更灵活的开发方式,以及如何进行严谨的测试,确保代码质量和系统...
《NET框架与设计模式》这本书深入探讨了.NET框架下的软件设计原则和模式,旨在帮助开发者构建更加健壮、可维护的系统。设计模式是软件工程中的重要概念,它代表了在特定上下文中解决常见问题的最佳实践。.NET框架...
设计模式和框架笔试题 在软件开发中,设计模式和框架扮演着非常重要的角色。设计模式是一种通用的解决问题的方法,它可以被应用于不同的场景中,而框架则是一种半成品,可以帮助开发者快速地开发出软件系统。在这里...
《C++设计模式--基于Qt4开源跨平台开发框架》一书主要探讨了如何在C++编程中利用设计模式,并结合Qt4框架进行高效的跨平台应用开发。设计模式是软件工程中的重要概念,它们是经过时间和实践验证的解决特定问题的模板...
### Spring框架的设计理念与设计模式分析 #### Spring框架的核心组件及其作用 Spring框架以其轻量级、可扩展性以及灵活性闻名于世,是现代Java应用开发的重要基石之一。本篇文章旨在深入探讨Spring框架的设计理念...
### Spring框架的设计理念与设计模式分析 #### 一、Spring框架概述 Spring作为一个现代软件开发领域内备受推崇的框架,其强大的功能与灵活性使得它在众多框架中脱颖而出。本文旨在深入探讨Spring框架的设计理念...
在Android开发领域,深入理解框架设计模式和设计原则是提升专业技能的关键步骤。设计模式是软件工程中的经验总结,它们是解决常见问题的有效方案。设计原则则是指导我们编写高质量、可维护代码的准则。以下是对这些...
这本书涵盖了.NET框架设计的各个方面,包括但不限于设计模式、配置管理以及各种开发工具的使用,旨在帮助开发者提升.NET平台上的编程技能。 **设计模式**是软件工程中的重要概念,它们是经过实践检验的解决方案模板...
Spring 框架的设计原理及设计模式分析 Spring 框架的设计原理是基于面向 Bean 的编程(BOP,Bean Oriented Programming),它的核心组件只有三个:Core、Context 和 Beans。这些组件之间的协同工作是 Spring 框架的...
### Spring框架的设计理念与设计模式分析 #### 一、Spring框架概述 Spring作为一个顶级的Java开发框架,其设计理念和架构模式对于理解和应用该框架至关重要。本文将深入探讨Spring框架的核心设计理念,以及它如何...
通过对《.NET框架设计》这本书的部分内容的分析,我们可以看到其主要聚焦于.NET框架的设计原理、常用设计模式的应用、配置管理方法以及相关开发工具的介绍。对于希望深入了解.NET框架及其周边技术的开发者而言,本书...