加入收藏 | 设为首页 | 会员中心 | 我要投稿 莆田站长网 (https://www.0594zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 移动互联 > 评测 > 正文

24种Java常用设计模式基本原理导读

发布时间:2019-07-16 13:10:24 所属栏目:评测 来源:佚名
导读:副标题#e# 本篇文章时Java设计模式系列技术文章的开篇,作为导读文章,将快速地对设计模式的基本概念、模式分类和适用范围进行解读。在后续的章节中,将对每一种类别的设计模式进行详细的讲解,讲解的内容包括每种设计模式的基本原理、适用范围和实战案例剖

​ 修饰模式的主要作用是在运行时动态的组合类的行为。通常,你会添加一些新的类或者新的方法来扩展已有的代码库,然而,在某些情况下你需要在程序运行时为某个对象组合新的行为,此时你可以采用修饰模式。图4-12展示了修饰模式的基本原理:

24种Java常用设计模式基本原理导读

图 4-12 修饰模式UML类图

4.2.8 过滤器模式-Filter

​ 过滤器模式是使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式将对象组合起来。图 4-13展示了过滤器模式的基本原理:

24种Java常用设计模式基本原理导读

图 4-13 过滤器模式

4.3 行为类

​ 行为类设计模式主要用于定义和描述对象之间的交互规则和职责边界,为对象之间更好的交互提供解决方案。

4.3.1 模板方法模式-Template Method

​ 模板方法模式的主要作用是在一个方法里实现一个算法,可以将算法中的的一些步骤抽象为方法,并将这些方法的实现推迟到子类中去实现。例如建造一栋房子,我们需要设计图纸,打地基,构筑墙体,安装门窗和内部装修。我们可以设计不同的房屋样式(别墅,高楼,板房等),不同的门窗和不同的装修材料和风格,但是其顺序不能颠倒。在这种情况下,我们可以定义一个模板方法,规定方法的执行顺序,而将方法的实现推迟到子类中完成。图4-14展示了模板方法模式的基本原理:

24种Java常用设计模式基本原理导读

图 4-14 模板方法模式UML类图

4.3.2 解释器模式-Mediator

​ 解释器(中介)模式的主要设计意图是定义一个中间对象,封装一组对象的交互,从而降低对象的耦合度,避免了对象间的显示引用,并可以独立地改变对象的行为。解释器(中介)模式可以在系统中的不同对象之间提供集中式的交互介质,降低系统中各组件的耦合度。图 4-15展示了解释器(中介)模式的基本原理:

24种Java常用设计模式基本原理导读

图 4-15 解释器(中介)模式UML类图

4.3.3 责任链模式-Chain of Responsibility

​ 责任链模式主要作用是让多个对象具有对同一任务(请求)的处理机会,以解除请求发送者与接收者之间的耦合度。try-catch就是一个典型的责任链模式的应用案例。在try-catch语句中,可以同时存在多个catch语句块,每个catch语句块都是处理该特定异常的处理器。当try语句块中发生异常是,异常将被发送到第一个catch语句块进行处理,如果第一个语句块无法处理它,它将会被请求转发到链中的下一个catch语句块。如果最后一个catch语句块仍然不能处理该异常,则该异常将会被向上抛出。图4-16展示了责任链模式的基本原理:

24种Java常用设计模式基本原理导读

图 4-16 责任链模式UML类图

4.3.4 观察者模式-Observer

​ 观察者模式的目的是在多个对象之间定义一对多的依赖关系,当一个对象的状态发生改变时,观察者会通知依赖它的对象,并根据新状态做出相应的反应。简单来说,如果你需要在对象状态发生改变时及时收到通知,你可以定义一个监听器,对该对象的状态进行监听,此时的监听器即为观察者(Observer),被监听对象称为主题(Subject)。Java消息服务(JMS)即采用了观察者设计模式(同时还使用了中介模式),允许应用程序订阅数据并将数据发布到其他应用程序中。图4-17展示了观察者模式的基本原理:

24种Java常用设计模式基本原理导读

图 4-17 观察者模式UML类图

4.3.5 策略模式-Strategy

​ 策略模式的主要目的是将可互换的方法封装在各自独立的类中,并且让每个方法都实现一个公共的操作。策略模式定义了策略的输入与输出,实现则由各个独立的类完成。策略模式可以让一组策略共存,代码互不干扰,它不仅将选择策略的逻辑从策略本身中分离出来,还帮助我们组织和简化了代码。一个典型的例子是Collections.sort()方法,采用Comparator作为方法参数,根据Comparator接口实现类的不同,对象将以不同的方式进行排序。图 4-18 展示了策略模式的基本原理:

24种Java常用设计模式基本原理导读

图 4-18 策略模式UML类图

4.3.6 命令模式-Command

​ 命令模式的设计意图是将请求封装在对象的内部。直接调用是执行方法的通常做法,然而,在有些时候我们无法控制方法被执行的时机和上下文信息。在这种情况下,可以将方法封装到对象的内部,通过在对象内部存储调用方所需要的信息,就可以让客户端或者服务自由决定何时调用方法。图 4-19 展示了命令模式的基本原理:

24种Java常用设计模式基本原理导读

图 4-19 命令模式UML类图

4.37 状态模式-State

(编辑:莆田站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读