设计模式
在某种情境下,针对某问题的某种解决方案。
情境:应用某个模式的情况。
问题:想在某个情境下达到的目标,但也可以是某情境下的约束。
解决方案:所追求的、一个通用的设计,用来解决约束、达到目标。
即:若你发现自己处于某个情境下,面对着所欲达到的目标被一群约束影响着,在此,你能够应用某个设计,克服这些约束并达到目标,将你领向某个解决方案。
模式与描述:
装饰者:包装一个对象,以提供新的行为
状态:封装了基于状态的行为,并使用委托在行为之间切换
迭代器:在对象的集合中游走,而不暴露集合的实现
外观:简化一群接口
策略:封装可以互换的行为,并使用委托来决定要使用哪一个
代理:包装对象,以控制对此对象的访问
工厂方法:由子类决定要创建的具体类是哪一个
适配器:封装对象,并提供不同的接口
观测者:让对象能够在状态改变是被通知
模板方法:由子类决定一个算法的步骤
组合:客户用一致的方法处理对象集合和单个对象
单例:确保只有一个对象被创建
抽象工厂:允许客户创建对象的家族,而无需指定它们的具体类
命令:将请求封装成对象
模式的分类