设计模式(十一):迭代器模式

Iterator (迭代器模式)

其实在平常的开发当中,迭代器模式是被经常使用的,举个例子,比如使用迭代器遍历结合

Read more
设计模式(十):备忘录模式

Memento(备忘录模式)

备忘录模式,在日常开发中就是起到一种”备忘”的作用,即在不破坏封闭的前提下,用于保存对象当前状态,并且在之后可以再次恢复到此状态

Read more
设计模式(九):观察者模式

Observer(观察者模式)

如果你听说过RxJava的话,就应该听说过这种模式。这种模式最大的优点就是将被观察者和观察者解耦,增强了程序的灵活性和可扩展性

那么观察者模式可以运用到什么场景中呢?

举个现实中典型的例子,当你订阅了一份杂志时,就使用了这种模式,你只需要订阅这份杂志,那么只要杂志更新了就会自动送到你的手上。
当然,观察者模式的用途远不止这些,但是处理的事件类型,就类似这种。

Read more
设计模式(八):责任链模式

Chain of Responsibility(责任链模式)

责任链模式作为行为型模式之一,根据”链”这个字,也大概能猜到这是一种链式结构,链式结构具有很好的灵活型,而在
责任链模式中也很好的体现了这一点。在责任链中,若在其中一端发出了请求,那么该请求就会沿着这个”链”
,一直寻找到可以接收并处理的该请求的”结点”,直到找到该结点或者一直到链的另一端结束

Read more
设计模式(七):状态模式

State(状态模式)

什么是状态模式呢?

有时候做一件事会存在很多的状态,而在不同的状态之下会有不同的行为。而状态模式就是根据不同的状态来改变不同的行为

Read more
从零开始的回调

关于回调,先讲个例子

假如现在你有一家鞋店,生意十分红火,每天来买鞋的客人络绎不绝。为了照顾生意,你招聘了一名店员——小王来帮忙。那么现在,有一名客人挑中了一双鞋,但是这时货架上符合客人的鞋码没有了,所以你打算叫小王去库房去符合客人鞋码的鞋子过来,然后你继续去招呼其他客人。

Read more
设计模式(六):策略模式

Strategy(策略模式)

策略模式作为行为型模式,是指对象有某个行为,但是在不同的场景中,该行为有不同的实现算法,我们根据实际情况选择不同的算法或者策略来完成该功能。

Read more
设计模式(五):原型模式

Prototype(原型)

原型模式,是利用已有的实例对象通过克隆的方式,复制出一个具有相同属性的对象,起作用在于
当在面临创建一个复杂对象或实例时,通过克隆可以是程序更高效的运行,保证了程序的效率,因此
原型模式也是一种创建型模式

Read more
设计模式(四):抽象工厂模式

Abstract Factory(抽象工厂)

在此之前,已经学习过了Factory Method(工厂方法),抽象工厂和工厂方法这两个模式都属于创建型设计模式,那么根据[工厂]这个词,大概也能猜出这两个模式都是用来“生产”的

Read more
设计模式(三):工厂方法模式

Factory Method(工厂方法)

工厂,顾名思义是用来生产东西的,那么在平常Coding的过程中,能用在什么地方呢?

在任何需要生成复杂对象的地方都可以使用工厂模式,当然,如果只是用new就可以创建的对象就没必要使用工厂模式了

Read more