浅谈框架与模式的关系

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









本文转自 weijie@java 51CTO博客,原文链接:http://blog.51cto.com/weijie/66944,如需转载请自行联系原作者
目录
相关文章
|
消息中间件 存储 缓存
如何设计各个组件之间的交互行为?
如何设计各个组件之间的交互行为?
|
3月前
|
设计模式
建模底层逻辑问题之以命令设计模式为例,要用定义法建模,如何实现
建模底层逻辑问题之以命令设计模式为例,要用定义法建模,如何实现
|
2月前
|
存储 NoSQL 数据处理
组合和继承怎么集成一个性能较好的项目
组合与继承是面向对象编程的核心概念,前者通过对象间关联实现高效解耦,后者则重用代码以节省空间和内存。组合常用于现代项目,利用代理与依赖注入简化代码管理;而继承简化了子模块对父模块资源的应用,但修改会影响整体。随着分层解耦及微服务架构如SpringCloud的出现,这些技术进一步优化了数据处理效率和服务响应性能,尤其在分布式存储与高并发场景下。同步异步调用、Redis分布式应用等也广泛运用组合与继承,实现代码和内存空间的有效复用。
|
3月前
|
设计模式
抽象工厂和原型设计模式之间的区别
【8月更文挑战第22天】
32 0
|
4月前
|
前端开发
领域驱动使用问题之领域驱动设计中聚合之间的依赖如何管理
领域驱动使用问题之领域驱动设计中聚合之间的依赖如何管理
|
5月前
|
前端开发 JavaScript 数据处理
在开发复杂表单时,如何在两种模式之间进行权衡
在开发复杂表单时,如何在两种模式之间进行权衡
|
消息中间件 前端开发 小程序
DDD实战之五:战略设计之上下文映射和系统分层架构(下)
DDD实战之五:战略设计之上下文映射和系统分层架构(下)
DDD实战之五:战略设计之上下文映射和系统分层架构(下)
|
前端开发 小程序 机器人
DDD实战之五:战略设计之上下文映射和系统分层架构(上)
DDD实战之五:战略设计之上下文映射和系统分层架构(上)
DDD实战之五:战略设计之上下文映射和系统分层架构(上)
|
前端开发 JavaScript
【组件封装】基于neo4jD3封装关系图、关联图谱
【组件封装】基于neo4jD3封装关系图、关联图谱
【组件封装】基于neo4jD3封装关系图、关联图谱
|
存储 搜索推荐 Java
大中台模式下如何构建复杂业务核心状态机组件
大中台战略下,中台将公司业务的公共能力下沉,并采用更加合理、可复用的架构和技术来实现这些基础能力。在电商行业内,将面临货物的采购、商品上架、交易发生、订单状态变化、客服介入等大量状态维护。
大中台模式下如何构建复杂业务核心状态机组件