模式开始第六天


首先说一下哈,后来的一些模式,真的是核心就没有那么多,UML一看就知道怎么编写,所以相对前面的日志则篇幅比较短

在模式结束之后上UML以及相关代码

引用大佬的blog:http://blog.csdn.net/lovelion/article/details/17517213
15.命令模式:
命令模式可以将请求发送者和接受者完全解耦,发送者与接受者之间没有直接引用关系,发送请求的对象只需要知道如何发送请求,而不必知道如何完成请求.
命令模式  :将一个请求封装为一个对象,从而让我们可用不同的请求对客户进行参数化
命令模式的核心点:
1.抽象命令的接口或抽象类
2.每个具体的命令类中会持有一个进行实际操作的Receiver,当命令执行的功能调用Receiver的具体方法


命令模式的演化 --->带有撤销操作与恢复操作功能.日志功能,宏命令功能



16.迭代器模式


某个类以成员变量的形式出现在另一个类中,二者是关联关系;某个类以局部变量的形式出现在另一个类中,二者是依赖关系。


不同的集合[不同的数据结构实现]遍历方式不一致,如何能采用统一的遍历方式实现
将聚合类中负责便利数据的方法提取出来,封装到专门的类中,实现数据存储和数据遍历分离,无需暴露聚合类的内部属性即可对其进行操作


迭代器模式:
提供一种方法来访问聚合对象秘而不用暴露这个对象的内部标识,其别名为游标(Cursor)


抽象迭代器:定义了访问和遍历元素的接口,声明了用于便利数据元素的方法(next/hashNext[first/currentItem(这两个不是必须)])




17.中介者模式
用一个中介对象来封装一系列的对象交互,中介者是个对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者模式又称为调停者模式


中介者的核心在于中介者类的引入,在中介者模式中名终结者承担了两方面的职责
1.(结构上起到)中转作用 各个同事对象不需要显式引用其他同事,当需要和其他同事进行通信时,可通过中介者来实现间接调用
2.(行为上起到)协调作用 中介者可以更近一步的对同事之间的关系进行封装,同事可以一致的和中介者进行 交互,而不需要指明中介者需要具体怎么做,中介者根据封装在自身内部的协调逻辑,
对同事的请求进行进一步处理,将同事成员之间的关系行为进行分离和封装...




中介者有两个层次 一个是中介者相关 一个中介者会关联很多个同事,但会有多功能不同的中介者
另一个则是同事...同事有很多个/类/种,而每个同事则持有一个中介者的引用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值