`

设计模式跟框架的有什么区别

阅读更多

框架从其功能结构化分可分为白箱框架和黑箱框架,白箱框架的设计需要设计者了解要设计的框架的具体功能和内部结构,通过类的继承和设计模式的组合来生成框架。白盒框架是一个程序骨架,而衍生出的子类是这个骨架上的附属品。黑箱框架则是利用对象组合或代理机制实现,它的构建比白箱框架更难。

框架从复用的粒度划分,可分为:

l         系统架构框架:这些框架能够使基础系统的开发遍的简单、移植性好、高效,如操作系统的基础架构、通信框架、用户界面框架和语言处理工具,他们用于构建系统的内部组织,而不直接面向最终客户;

l         中间件集成框架:他们通常用于在分布式系统中集成应用和组件,用于提高软件的模块化、复用性和扩展性,无缝集成分布式应用环境中的应用。例如, ORB 框架、消息中间件和事务中间件;

l         企业应用框架:这种框架可应用于各行各业,直接面向具体的应用。

框架强调的是软件的设计重用性和系统的可扩充性。在软激发过程中应用框架技术以缩短大型应用软件系统的开发周期,提高开发质量。与传统的基于类库的面向对象技术比较,框架更注重于面向专业领域的软件重用,具有领域相关性,可以对现有构件根据框架进行复合,生成可运行的系统。框架的粒度越大,其中包含的领域知识就更加完整。

设计模式与框架的比较

框架能使应用程序的开发简单,价格低廉,但是开发框架不是一件容易的事。它是一个需要领域和设计经验的反复过程。设计模式可以简化这个过程,因为它提供了对过去经验的抽象。框架能高度抽象同一领域内的问题,进而降低开发难度和强度。因此,在软件开发过程中把框架和模式配合起来使用,可以极大地提高软件的重用。框架和模式都是提高软复用的技术手段,他们之间互相联系但又有所侧重:

l         设计模式比框架更抽象:应用框架能够用代码表示,而设计模式只有其实例才能表示为代码。框架能够使用程序设计语言写出来,不仅能被学习,也能被直接执行和复用。而设计模式的每一次复用时,都需要被实现。设计模式需要解释它的意图、权衡和设计效果。

l         设计模式是比框架更小的体系结构元素:一个典型的框架包括了多个设计模式。

l         框架比设计模式更加特征化:框架总是针对一个特定的应用领域,而设计模式至少要包括两个不同的应用领域。

如果说类库通常是代码重用,而设计模式是设计重用,那么框架则介于两者之间,部分代码重用,部分设计重用,有时分析也可重用。在软件生产中有三种级别的重用:内部重用——对同一应用中能公共使用功能抽象复用;代码重用——将通用模块组合成库或工具集,以便在多个应用和领域都能使用;应用框架的重用——为专用领域提供通用的或现成的基础结构,以便于集成或组装其他功能块达到更高级别的重用性。简单地说,框架是软件,而设计模式是软件的知识(即开发软件的先验经验)。

分享到:
评论

相关推荐

    PHP高级程序设计 模式、框架与测试 中文高清PDF版

    其次,“模式”部分会讲解软件设计模式,这是解决常见编程问题的最佳实践。例如,工厂模式、单例模式、观察者模式等,都是在PHP开发中经常用到的设计模式。通过理解这些模式,开发者可以写出更灵活、可扩展的代码,...

    NET框架与设计模式

    .NET框架提供了一个强大的平台,结合设计模式可以实现高效、可扩展的应用程序开发。 在.NET框架中,设计模式主要分为三类:创建型模式、结构型模式和行为型模式。创建型模式关注对象的创建,如单例模式(Singleton...

    设计模式 框架 及其实践

    一本较少设计模式的书,结合框架以及项目中的实际应用用生动的语言娓娓道来。

    小D深入浅出设计模式+框架源码剖析实战

    │ 2.3多个业务场景浏览-设计模式使用前后的区别.mp4 │  ├─第三章 创建型设计模式-单例设计模式和应用 │ 3.1江湖传言里的设计模式-单例设计模式.mp4 │ 3.2代码实战-单例设计模式中的懒汉实现方式.mp4 │ ...

    设计模式和框架笔试题

    设计模式和框架笔试题 在软件开发中,设计模式和框架扮演着非常重要的角色。设计模式是一种通用的解决问题的方法,它可以被应用于不同的场景中,而框架则是一种半成品,可以帮助开发者快速地开发出软件系统。在这里...

    C++设计模式--基于Qt4开源跨平台开发框架

    《C++设计模式--基于Qt4开源跨平台开发框架》一书主要探讨了如何在C++编程中利用设计模式,并结合Qt4框架进行高效的跨平台应用开发。设计模式是软件工程中的重要概念,它们是经过时间和实践验证的解决特定问题的模板...

    android框架设计模式和设计原则

    在Android开发领域,深入理解框架设计模式和设计原则是提升专业技能的关键步骤。设计模式是软件工程中的经验总结,它们是解决常见问题的有效方案。设计原则则是指导我们编写高质量、可维护代码的准则。以下是对这些...

    NET框架设计 模式、配置、工具.pdf

    这本书涵盖了.NET框架设计的各个方面,包括但不限于设计模式、配置管理以及各种开发工具的使用,旨在帮助开发者提升.NET平台上的编程技能。 **设计模式**是软件工程中的重要概念,它们是经过实践检验的解决方案模板...

    PHP高级程序设计:模式框架与测试

    - **设计模式**:书中深入介绍了设计模式的概念,如单例模式、工厂模式、观察者模式等,这些模式在实际项目中被广泛使用,能够提高代码的可读性和可维护性。 - **架构模式**:讨论了如MVC(模型-视图-控制器)模式...

    Spring框架的设计原理及设计模式分析

    Spring 框架的设计原理及设计模式分析 Spring 框架的设计原理是基于面向 Bean 的编程(BOP,Bean Oriented Programming),它的核心组件只有三个:Core、Context 和 Beans。这些组件之间的协同工作是 Spring 框架的...

    .NET框架设计 模式、配置、工具 王清培(著)

    .NET框架设计 模式、配置、工具

    多图详解Spring框架的设计理念与设计模式.pdf

    java Spring 框架 设计模式java Spring 框架 设计模式java Spring 框架 设计模式

    设计模式、框架及其实践

    设计模式、框架及其实践设计模式、框架及其实践设计模式、框架及其实践设计模式、框架及其实践设计模式、框架及其实践设计模式、框架及其实践

    Spring框架的设计理念与设计模式分析之一

    Spring作为现在最优秀的框架之一,被广泛的使用并有很多对其分析的文章。...Spring中又使用了那些设计模式来完成它的这种设计的?它的这种设计理念对对我们以后的软件设计有何启示?本文将详细解答这些问题。

    C++设计模式学习框架

    "C++设计模式学习框架"是一个专为学习和实践这些模式而构建的资源集合,它涵盖了各种常见的设计模式,帮助开发者深入理解并熟练应用到实际项目中。 设计模式通常分为三类:创建型模式(Creational Patterns)、结构...

    Spring框架的设计理念和设计模式分析

    Spring框架的设计理念和设计模式分析,spring开发必备

    说说设计模式那些事 什么是模式? 什么是框架?

    模式有不同的领域,建筑领域有建筑模式,软件设计领域也有设计模式。当一个领域逐渐成熟的时候,自然会出现很多模式。 什么是框架? 框架,即framework。其实就是某种应用的半成品,就是一组组件,供你选用完成你...

    C++设计模式-基于QT4开源跨平台开发框架 源码

    在本资源中,"C++设计模式-基于QT4开源跨平台开发框架 源码",我们将重点探讨如何在C++编程语言中结合QT4框架来应用这些模式。 QT4是一个广泛使用的开源跨平台开发框架,它允许开发者用C++创建桌面、移动和嵌入式...

Global site tag (gtag.js) - Google Analytics