摘要:
抽象访问者(Visitor):声明所有访问者需要的接口 具体访问者(ConcreteVisitor):实现抽象访问者声明的接口 抽象节点元素(Element):提供一个接口,能够接受访问者作为参数传递给节点元素 具体节点元素(ConcreteElement):实现抽象节点元素声明的接口 结构对象(O 阅读全文
摘要:
提供一种方法访问一个容器对象中各个元素,而又不暴露该对象的内部细节。 迭代器模式的结构 抽象容器:一般是一个接口,提供一个iterator()方法,例如java中的Collection接口,List接口,Set接口等。 具体容器:就是抽象容器的具体实现类,比如List接口的有序列表实现ArrayLi 阅读全文
摘要:
Product:抽象产品角色,它定义了这个产品的通用属性,相当于模子,它定义了一些功能,这些功能可以由子类去实现 ConcreteProduct:具体产品角色,它实现了抽象产品所定义的功能,每个 ConcreteProduct 相当于一个产品种类 SimpleFactory:具体工厂模式类,它实现了 阅读全文
摘要:
责任链模式就是很多对象由每个对象对其下家的引用而连接起来形成一条链,请求在这条链上传递,直到链上的某个对象处理此请求,或者每个对象都可以处理请求,并传给“下家”,直到最终链上每个对象都处理完 通常责任链械包括下面几个角色 1、Handler(抽象处理者):定义一个处理请求的接口 2、Concrete 阅读全文
摘要:
在状态模式(State Pattern)中,类的行为是基于它的状态改变的。 模式中的角色 上下文环境(Context):它定义了客户程序需要的接口并维护一个具体状态角色的实例,将与状态相关的操作委托给当前的Concrete State对象来处理。 抽象状态(State):定义一个接口以封装使用上下文 阅读全文
摘要:
享元模式(Flyweight Pattern)主要用于减少创建对象的数量,以减少内存占用和提高性能。这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式。 享元模式尝试重用现有的同类对象,如果未找到匹配的对象,则创建新对象 Flywieght FlyweightFa 阅读全文