随笔分类 - 设计模式
设计模式下相关知识
摘要:状态模式(State Pattern) 状态模式(State Pattern):当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。 状态模式描述了对象状态的变化以及对象如何在每一种状态下表现出不同的行为,避免了使用if-else或者switch-case语句,同时代码结构清晰能
阅读全文
摘要:组合模式(Composite Pattern) 组合模式:允许你将对象组合成树形结构来表现“整体/部分”层次结构。组合能让客户以一致的方式处理个别对象以及对象组合。 组合模式结构: 组合部件(Component):它是一个抽象角色,为要组合的对象提供统一的接口。 叶子(Leaf):在组合中表示子节点
阅读全文
摘要:迭代器模式(Iterator Pattern) 迭代器模式提供一种方法顺序访问一个聚合对象中的各个元素,而不是暴露其内部的表示。 迭代器模式结构: 抽象容器角色(Aggregate):负责提供创建具体迭代器角色的接口,一般是一个接口,提供一个iterator()方法,例如java中的Collecti
阅读全文
摘要:命令模式(Command Pattern) 命令模式(Command Pattern):将请求封装成对象,以便使用不同的请求、日志、队列等来参数化其他对象。命令模式也支持撤销操作。 命令模式结构: Command: 定义命令的接口,声明执行的方法。ConcreteCommand: 具体的命令, 实现
阅读全文
摘要:单例模式(Singleton Pattern) 单例模式(Singleton Pattern):保证一个类仅有一个实例,并提供一个访问它的全局访问点。 单例模式结构: SingleObject类提供了一个静态方法getInstance,供外界获取SingleObject类的实例。 优点: 1、由于单
阅读全文
摘要:工厂模式(Factory Pattern) 工厂模式(Factory Pattern):封装对象的创建,处理创建对象的细节。 工厂方法用来处理对象的创建,并将这样的行为封装在子类中。这样客户程序中超类的代码就和子类对象的创建部分解耦了 工厂方法分为:简单工厂(静态工厂)、工厂方法、抽象工厂。 几种方
阅读全文
摘要:装饰者模式(Decorator) 装饰者模式(Decorator):动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。 装饰者模式结构: 抽象构件(Component)角色:给出一个抽象接口,以规范准备接收附加责任的对象。 具体构件(ConcreteComponent)角
阅读全文
摘要:观察者模式 观察者模式从名字上来看大概就是一种通知与被通知的关系,其实代码思想也与其差不多, 其核心思想就是有一个或N个观察者(Observer)和一个(或N个)被观察者(Observable 或 Subject),观察者以订阅方式来观察被观察者,当被观察者接到更新时(程序员控制或代码自动发出)将通
阅读全文
摘要:策略模式(strategy pattern) 策略模式(strategy pattern):策略模式定义了算法族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。 策略模式是针对一组算法,将每个算法封装到具有公共接口的独立的类中,从而使它们可以相互替换。策略模式使得算法
阅读全文