推荐书籍 《人人都懂设计模式》从生活中领悟设计模式 python实现 罗伟富著
介绍有趣的设计模式,便于代码设计。
监听模式,又名观察者模式。顾名思义就是观察与被观察的关系。比如,在烧开水的时候看它开没有开。你就是观察者,水就是被观察者。其核心思想: 被观察者与观察者之间建立一种自动触发关系。观察者模式是对象的行为模式,又叫发布/订阅模式、模型/视图模式、源/监听器模式或者是从属者模式。
设计要点:(1) 要明确谁是观察者谁是被观察者。观察者与被观察者之间是多对一关系。(2)Observable在发送广播通知的时候,无需指定具体的Observer。Observer可以自己决定是否订阅Subject的通知。(3)被观察者至少需要三个方法:添加监听者、移除监听者、通知Observer的方法。观察者至少要有一个方法:更新方法,即更新当前的内容,做出相应的处理。
状态模式。一个对象在其内部状态发生改变时,其表现的行为和外在属性不一样,这个对象看上去就像改变了它的类型一样。核心思想:一个事物(对象)有多种状态,在不同的状态下所表现出来的行为和属性不一样。
设计要点:(1) 在实现状态模式的时候,实现的场景状态有时候会非常复杂,决定状态变化的因素也非常多。我们可以把决定状态变化的属性单独抽象成一个类StateInfo,这样判断状态属性是否符合当前的状态isMatch时就可以传入更多的信息。
中介模式。用一个中介对象来封装一系列的对象交互,中介对象使各对象不需要显式地像话引用,从而使爱耦合松散,而且可以独立改变它们之间的交互。
设计要点&#x