浅谈框架与模式的关系

简介:
    在javaEE中的开源框架太多了,其实每个框架大部分都是有一些经典的模式演变而来。对大家最熟悉了应该是Struts框架,我们知道它是典型的MVC设计模式的化身。还有我们最熟悉的,也是比较流行的框架Spring。它其实是工厂模式和单例模式的充分应用。框架和模式到底有什么关系呢?
      框架是一组相互协作的类,它构成了某类特定软件的可复用设计。框架规定了应用体系结构,它定义了整体结构,类,和对象的分割,各部的主要责任,类,对象怎么协作,以及控制流程。框架预定义了这些设计参数。以便于应用设计者或实现者能集中精力于应用本身的细节,因而框架更加强调设计复用。
     模式其实就是解决某一类问题的方法论。把解决问题的方法总结归纳到理论高度,这就是模式。
     框架和模式的主要区别:
 <1>.模式比框架更抽象,框架能够用代码表示,而模式只有其应用实例才能表示为代码。框架的威力在于它们能够使用程序设计语言写出来,它们不仅能被学习,也能被直接执行和复用。而模式在每次被复用时,都需要实现。
<2>.模式是比框架更小的体系结构,一个典型的框架包括了多个模式,而反之并不如此。
<3>.框架比模式更加特例化,框架总是针对一个特定的应用领域。而模式几乎能被用于任何应用。









本文转自 weijie@java 51CTO博客,原文链接:http://blog.51cto.com/weijie/66944,如需转载请自行联系原作者
目录
相关文章
|
7月前
31 # 模块的概念
31 # 模块的概念
29 0
|
9月前
|
数据库
主题域、概念、逻辑、物理四种模型有什么区别与联系?
主题域、概念、逻辑、物理四种模型有什么区别与联系?
|
8月前
|
消息中间件 存储 缓存
如何设计各个组件之间的交互行为?
如何设计各个组件之间的交互行为?
|
消息中间件 前端开发 小程序
DDD实战之五:战略设计之上下文映射和系统分层架构(下)
DDD实战之五:战略设计之上下文映射和系统分层架构(下)
DDD实战之五:战略设计之上下文映射和系统分层架构(下)
|
前端开发 小程序 机器人
DDD实战之五:战略设计之上下文映射和系统分层架构(上)
DDD实战之五:战略设计之上下文映射和系统分层架构(上)
DDD实战之五:战略设计之上下文映射和系统分层架构(上)
|
前端开发 JavaScript
【组件封装】基于neo4jD3封装关系图、关联图谱
【组件封装】基于neo4jD3封装关系图、关联图谱
【组件封装】基于neo4jD3封装关系图、关联图谱
|
存储 搜索推荐 Java
大中台模式下如何构建复杂业务核心状态机组件
大中台战略下,中台将公司业务的公共能力下沉,并采用更加合理、可复用的架构和技术来实现这些基础能力。在电商行业内,将面临货物的采购、商品上架、交易发生、订单状态变化、客服介入等大量状态维护。
大中台模式下如何构建复杂业务核心状态机组件
|
云计算 人工智能 数据处理
对话行癫:解密阿里云顶层设计和底层逻辑
几十个问题,万字长文,阿里云新任总裁行癫履新后首次深入讨论阿里云对云计算未来的判断,深度解读未来阿里云生态战略,揭秘阿里技术委员会和阿里中台思想的原生思考。
2298 0
|
算法
自然框架,拆分后的项目关系
  拆分了一下自然框架,似乎又绕回去了。以前是多个项目分开放的,有人说太分散了,还得一个个下载,麻烦。于是就做了一个解决方案,把项目都放在了一起。     现在呢,QuickPager分页控件比较完善了,有人只想看分页控件的代码,其他的不想看,东西太多了乱。
826 0
|
Java 数据库 数据库连接
框架和库的区别&关系
image.png 库 一般实现了一些复杂功能,能够 解决直接的计算或处理,把这些实现代码打包、封装供外部调用。 什么是框架? 1.框架框架不可直接运行,它是一个应用程序的半成品。
1397 0