齐天大圣

访问者模式

访问者模式 访问者模式 访问者模式是一种行为设计模式, 它能将算法与其所作用的对象隔离开来。访问者模式主要用于修改或操作一些数据结构比较稳定的数据 ASM 用的访问者模式。 访问者模式的结构 访问者(Visitor)模式实现的关键是如何将作用于元素的操作分离出来封装成独立的类,其基本结构如下: 抽象的访问者(Visitor) 访问具体元素的接口,为每个具体元素类对应一个...

设计模式面试题

责任链模式? 是一个请求有多个对象来处理,这些对象是一条链,但具体由哪个对象来处理,根据条件判断来确定,如果不能处理会传递给该链中的下一个对象,直到有对象处理它为止。 将请求的发送和接收解耦,让多个接收对象都有机会处理这个请求。将这些接收对象串成一条链,并沿着这条链传递这个请求,直到链上的某个接收对象能够处理它为止。以上定义来自《设计模式之美》 责任链模式和分发模式的区别 观...

策略模式

策略模式 策略模式定义 定义一系列的算法,把它们一个个封装起来,并且使他们可互相替换。本模式使得算法可独立与使用它的客户而变化。有个管理类 策略模式使用场景 一个类定义了多种行为,并且这些行为在这个类的方法中以多个条件语句的形式出现,那么可以使用策略模式避免在类中使用大量的条件语句。 可用于替换繁杂的 if-else 判断语句 Volley 中的 HttpStack 用...

状态模式

状态模式 定义 允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。 类图 角色说明: State(抽象状态角色):抽象类或者接口,定义对象的各种状态和行为。 ConcreteState(具体状态角色):实现抽象角色类,定义了本状态下的行为,即要做的事情。 Context(环境角色):定义客户端需要的接口,并且负责具体状态的切换。 ...

代理模式

代理模式 代理模式 代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。通俗的来讲代理模式就是我们生活中常见的中介。比如你按照小卡片上的电话打过去寻求服务,一般不是由本人,可能是一个成年雄性接听电话,然而真正做事情的可能是另一个小姐姐。 通过引入代理对象的方式来间接访问目标对象,防止直接访问目标对象给系统带来的不必要复杂性 通过代理对象对访问进行控制 代...