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

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

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

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

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

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

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

设计模式与框架的比较

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

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

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

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

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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring框架是一个非常优秀的Java企业级应用开发框架,它整合了大量的设计模式来实现各种不同的功能。以下是几种常见的设计模式在Spring框架中的应用: 1. 工厂模式:Spring框架中的BeanFactory和ApplicationContext都是基于工厂模式实现的。它们可以帮助Java应用程序在运行时动态地创建和管理对象,从而提高应用程序的灵活性和可维护性。 2. 代理模式:Spring框架中的AOP(面向切面编程)和事务管理都是基于代理模式实现的。它们可以帮助Java应用程序在运行时动态地增强对象的功能,从而实现更加灵活和可维护的代码结构。 3. 单例模式:Spring框架中的Bean默认是单例的,即在应用程序的整个生命周期中只会创建一个实例。这种设计模式可以帮助Java应用程序实现内存的优化和性能的提升。 4. 观察者模式:Spring框架中的事件机制就是基于观察者模式实现的。它可以帮助Java应用程序实现对象间的松耦合,从而提高应用程序的灵活性和可扩展性。 5. 模板方法模式:Spring框架中的JdbcTemplate和HibernateTemplate都是基于模板方法模式实现的。它们可以帮助Java应用程序实现数据库访问的统一和简化,从而提高应用程序的可维护性和可扩展性。 6. 适配器模式:Spring框架中的HandlerAdapter和ViewResolver都是基于适配器模式实现的。它们可以帮助Java应用程序适配不同的处理器和视图,从而实现更加灵活和可维护的代码结构。 总之,Spring框架中应用了大量的设计模式,这些设计模式为Java应用程序的开发和维护提供了很多便利和支持。熟悉这些设计模式的应用和实现方式,可以帮助开发人员更加高效地使用和扩展Spring框架

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值