设计模式8

来源:互联网 发布:nodejs部署到nginx 编辑:程序博客网 时间:2024/05/24 07:25

15、        迭代器模式

迭代器模式(Iterator),提供一种方法顺序访问一个聚合对象中个元素,而又不暴露该对象的内部表示。

a)      优点:

                       i.              迭代器模式分离了集合对象的遍历行为,抽象出一个迭代器类来负责,这样既可以做到不暴露集合的内部结构,又可让外部代码透明地访问集合内部的数据。

                     ii.              支持对聚合对象的多种遍历。

                  iii.              为遍历不同的聚集结构提供统一接口。

b)      迭代器模式的应用:

                       i.              当需要访问一个聚集对象,而且不管这些对象是什么都需要遍历的时候,就应该考虑用迭代器模式。

                     ii.              需要对聚集有多种方式遍历时,可以考虑使用迭代器模式。(为遍历不同的聚集结构提供如开始、下一个、是否结束、当前哪一项等统一的接口)

16、        单例模式

单例模式(Singleton),保证一个类仅有一个实例,并提供一个访问它的全局访问点。

a)      优点:

                       i.              单例模式可以让类自身保存它唯一的实例。

                     ii.              单例模式因为Singleton类封装它的唯一实例,这样它可以严格地控制客户怎样访问它以及何时访问它。

b)      单例模式的应用:

                       i.              单例模式可以控制资源的使用,通过线程同步来控制资源的并发访问。

                     ii.              单例模式控制实例产生的数量,达到节约资源的目的。

                  iii.              作为通信媒介使用,也就是数据共享,它可以在不建立直接关联的条件下,让多个不相关的两个线程或者进程之间实现通信。

原创粉丝点击