Iterator (迭代器模式)
其实在平常的开发当中,迭代器模式是被经常使用的,举个例子,比如使用迭代器遍历结合
如果你听说过RxJava的话,就应该听说过这种模式。这种模式最大的优点就是将被观察者和观察者解耦,增强了程序的灵活性和可扩展性
那么观察者模式可以运用到什么场景中呢?
举个现实中典型的例子,当你订阅了一份杂志时,就使用了这种模式,你只需要订阅这份杂志,那么只要杂志更新了就会自动送到你的手上。
当然,观察者模式的用途远不止这些,但是处理的事件类型,就类似这种。
责任链模式作为行为型模式之一,根据”链”这个字,也大概能猜到这是一种链式结构,链式结构具有很好的灵活型,而在
责任链模式中也很好的体现了这一点。在责任链中,若在其中一端发出了请求,那么该请求就会沿着这个”链”
,一直寻找到可以接收并处理的该请求的”结点”,直到找到该结点或者一直到链的另一端结束
假如现在你有一家鞋店,生意十分红火,每天来买鞋的客人络绎不绝。为了照顾生意,你招聘了一名店员——小王来帮忙。那么现在,有一名客人挑中了一双鞋,但是这时货架上符合客人的鞋码没有了,所以你打算叫小王去库房去符合客人鞋码的鞋子过来,然后你继续去招呼其他客人。
原型模式,是利用已有的实例对象通过克隆的方式,复制出一个具有相同属性的对象,起作用在于
当在面临创建一个复杂对象或实例时,通过克隆可以是程序更高效的运行,保证了程序的效率,因此
原型模式也是一种创建型模式
在此之前,已经学习过了Factory Method(工厂方法),抽象工厂和工厂方法这两个模式都属于创建型设计模式,那么根据[工厂]这个词,大概也能猜出这两个模式都是用来“生产”的
工厂,顾名思义是用来生产东西的,那么在平常Coding的过程中,能用在什么地方呢?
在任何需要生成复杂对象的地方都可以使用工厂模式,当然,如果只是用new就可以创建的对象就没必要使用工厂模式了