升级版Excel,千亿级大厂新选择:吊打金蝶用友?完胜SAP Oracle?-英雄云拓展知识分享
174
2023-10-26
【摘要】 本书摘自《Java架构之完美设计 实战经典》一书中第2章,第5节,由颜廷吉编著。
2.5.12 责任链模式
1.概述
责任链模式中一个请求有多个对象来处理,这些对象形成一条链,根据条件确定具体由 谁来处理,如果当前对象不能处理则传递给该链中的下一个对象,直到有对象处理为止。发 出这个请求的客户端并不知道链上的哪一个对象会最终处理这个请求,这使得系统可以在不 影响客户端的情况下动态地重新组织和分配责任。
2.类图
3.代码示例
【案例10——责任链模式】
背景:在解决软件开发过程中遇到的问题时,可让程序员处理难度为6的问题,让工程 师处理难度为8的问题,而让架构师来处理难度为10的问题。
4. 优缺点
责任链模式的优点是:
1)职责单一 明确。每个类只需要处理自己该处理的工作(不该处理的传递给下一个对 象完成),明确各类的责任范围,符合类的最小封装原则。
2)可以根据需要自由组合工作流程。如工作流程发生变化,可以重新分配责任链,可 适应新的工作流程。
3)类与类之间可以以松耦合的形式加以组织。
责任链模式的缺点是:
因为处理时以链的形式在对象间传递消息,根据实现方式不同,有可能会影响处理的 速度。
5. 适用场景
在需要链式处理,如工作流程化、消息处理流程化、事物流程化时,可以考虑使用责任 链模式。
2.6 架构模式
2.6.1 Java EE规格与框架
为适应工业应用需求, Java EE 发展过程亦出现了各种规格,见表2-15。
在Java框架的发展过程中出现了轻量级框架与重量级框架,二者是相对而言的。轻量 级一般指侵入性比较弱或没有侵入性,和普通的Java类差不多的框架。而重量级指的是侵 入性很强,依赖特定容器的框架。
轻量级框架侧重于减小开发的复杂度,因此它的处理能力便有所减弱(如事务功能弱、 不具备分布式处理能力),比较适用于开发中小型企业应用。采用轻量级框架的原因, 一方 面是因为此框架会尽可能地采用基于 POJO(Plain Ordinary Java Object) 的方法进行开发, 使应用不依赖于任何容器;另一方面轻量级框架多数是开源项目,开源社区提供了良好的设 计和许多快速构建工具以及大量现成可供参考的开源代码,这有利于项目的快速开发。比较 有代表性的有 Struts、Spring、Hibernate、MyBatis。
重量级框架则强调高可伸缩性,适合开发大型企业应用,比较有代表性的就是EJB。 在 EJB 体系结构中, 一切与基础结构服务相关的问题和底层分配问题都由应用程序容器或服务 器来处理,且 EJB 容器通过减少数据库访问次数以及分布式处理等方式提供了专门的系统 性能解决方案,能够充分解决系统性能问题。
轻量级框架与重量级框架不是对立的,而是互补的。轻量级框架在努力发展以开发具有更强大、功能更完备的企业应用;而新的 EJB 规范 EJB3.0 则在努力简化J2EE 的使用以使 得EJB 不仅擅长处理大型企业系统,也利于开发中小型系统,这也是EJB 轻量化的一种努 力。重量级框架的学习、开发等代价都比较高,具体表现在:
1)部署复杂。
2)内在服务多,启动慢。
3)规则繁多,留给程序员的空间很小,测试与维护都非常复杂,因此 EJB 技术逐渐被 其他更优秀的技术手段所代替。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~