作者: 真的有神 | 来源:发表于2019-05-18 17:03 被阅读0次

13.访问者模式

访问者模式也称为Visitor模式,使用这种模式后可以在不修改已有程序结构的前提下,通过额外添加“访问者”来对已有代码的功能实现提升。表示一个作用于某对象结构中的各元素的操作。它使我们可以在不改变各元素的类的前提下定义作用于这些元素的新操作。

构成访问者模式的角色如下:

1.访问者角色(Visitor):为该对象结构中的具体元素角色声明一个访问操作接口。该操作接口的名字和参数标识了发送访问请求给具体访问者的具体元素角色。这样访问者就可以通过该元素角色的特定接口直接访问它。

2.具体访问者角色(Concrete Visitor):实现每个由访问者角色(Visitor)声明操作。

3.元素角色(Element):定义一个Accept操作,它以一个访问者为参数。

4.具体元素角色(Concrete Element):实现由元素角色提供的Accept操作。

5.对象结构角色(Object Structure):这是使用访问者模式必备的角色。它要具备以下特征—能枚举它的元素;可以提供一个高层的接口以允许该访问者访问它的元素;可以是一个复合(组合模式)或是一个集合,如一个列表或一个无序集合。

适用访问者模式的情况

(1)一个对象结构包含很多类对象,它们有不同的接口,而我们想对这些对象实施一些依赖于其具体类的操作。

(2)需要对一个对象结构中的对象进行很多不同的并且不相关的操作,而我们想避免让这些操作“污 染”这些对象的类。Visitor使得我们可以将相关的操作集中起来,定义在一个类中。(3)当对象结构被很多应用共享时,Visitor模式让每个应用仅包含需要用到的操作。

(4)定义对象结构的类很少改变,但经常需要在此结构上定义新的操作。改变对象结构类需要重定义对所有访问者的接口,这可能需要很大的代价。如果对象结构类经常改变,那么可能还是在这些类中定义这些操作较好。

14.策略模式

策略模式又被称为算法族模式,就是定义了不同的算法族,并且相互之间可以互相替换,此模式让算法的变化独立于使用算法的客户。

策略模式属于对象行为型模式,主要针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。通常,策略模式适合于当一个应用程序需要实现一种特定的服务或者功能,而且该程序有多种实现方式时使用。

在策略模式中有如下几个对象:

1.环境对象:该类中实现了对象策略中定义的接口或者抽象类的引用。

2.抽象策略对象:它可由接口或抽象类来实现。

3.具体策略对象:它封装了实现不同功能的不同算法。

“刘备回荆州问题”刘备要到江东娶老婆,走之前诸葛亮给伴郎赵云三个锦囊妙计,说是按天机拆开能解决棘手问题。先说说这个场景的三要素:三个妙计,一个锦囊,一个赵云。妙计是亮哥给的,妙计放在锦囊里,俗称就是锦囊妙计。那赵云就是一个干活的人,从锦囊里取出妙计,执行,然后获胜。如果用Java 来表示这个过程,则具体实现流程如下所示。

相关文章

  • 四郎四郎傅四郎(四)

    上一章-南城(三) 第二章•无头女婴(一) 聚园柳庄内一私人别墅。 “四个,这是刚刚丁探长让人整理的和9...

  • 四(四)资源

    资源在MQL4程序中使用图形和声音 MQL4中的程序允许处理声音和图形文件:PlaySound() // 播放声...

  • 小 四 (四)

    这一次见面过后,又好多年没有见过小四。但是她三十岁那年,听到家里人又谈起了小四。 小四前两年又生了个女儿。由于她生...

  • 四幺四

    四月十四日,我想起了大学宿舍里面的扑克游戏四幺四,当时风靡整个后楼二十二系势力范围,一时“不会四幺四,人缘肯定次”...

  • 四苦 四醒 四行 四喜 四悲 四得(经典!)

    人生四苦 一苦:看不透 看不透人际中的纠结,争斗后的隐伤 看不透喧嚣中的平淡,繁华后的宁静 二苦:舍不得 舍不得曾...

  • 四人 · 四城 · 四时 · 四地

    四人 · 四城 · 四时 · 四地 由于工作和生活的原因,四个闺密的开始四地分隔生活,不一样的生活环境,不尽相同的...

  • 四郎四郎傅四郎

    契子 你有没有试过 掏心掏肺的爱一个人 嫉妒他对另一个人的好 却在他厌恶自己的那一刻 才发现 原来自己...

  • 四懂四会四能力

    四懂 1.懂本岗位的火灾危害性 2.懂预防措施 3.懂扑救火灾的方法 4.懂疏散 四会 1.会报警 2.会使用消防...

  • 四套四

    一、种子四大定律 我们是融于自然界的,不然没有大自然怎会有我们?故自然界的法则完全可以存在于我们的意识中。日常我们...

  • 四月四

    四月四,十月十 十四是四十,四十是十四 一个选择有一种生活可能 患者人生,文案世界 慢慢走向策划人生,接近设计世界...

网友评论

      本文标题:

      本文链接:https://www.haomeiwen.com/subject/hxitzqtx.html