资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,设计模式,-,总结,主要内容,设计模式基础,创建型设计模式,结构型设计模式,行为型设计模式,第一部分 设计模式基础,软件复用的含义和作用,设计中的难点,变化是绝对的,稳定是相对的,变化的种类,单个类的职责(接口、增加功能、参数类型及个数),实现(数据表示、行为过程、行为结果),类间交互(解耦),变化的适应方式,变化的适应方式,修改,扩展,水平关系,继承关系,扩展的基础,分离稳定与变化,水平关系的优势,Class A,Public:,void func(B*p);,Private:,B*pB;,;,动态更改对象,而不需修改类的定义:,变更为同一个类的不同对象,变更为子类的对象,继承+多态的优势,class B:public A,public:,virtual void func();,;,class B:public A,public:,virtual void func();,不同类型具有一致的接口,1.允许不同类型的对象以相同的方式访问,2.减少设计时要考虑的类型,设计的原则,开闭原则,对扩展开放,对修改关闭,抽象与封装原则,分离稳定与变化,封装变化,抽象变化接口,针对接口编程,而不是针对实现编程,组合优先原则(而不是继承),设计的原则,单一职责原则(The single responsibility),里氏替换原则(The Liskov substitution,),依赖倒转原则,多接口分离原则,迪米特法则(委托而不是直接交互),第二部分 创建型模式,简单工厂模式(Simple Factory Pattern),工厂模式(Factory Method Pattern),单件模式(Singleton Pattern),原型模式(Prototype Pattern),构造器模式(Builder Pattern),抽象工厂模式(Abstract Factory Pattern),单件模式/单例模式,解耦-将对象的创建方法和过程独立出来,隔离了产品-产品使用者-产品的创建方法和过程,基本模式-工厂方法,退化-简单工厂,易Clone,实例数量多-原型方法,创建过程复杂多变生成器(构造器)模式,特殊情况-多系列产品同构,有对应约束抽象工厂,第三部分 结构型模式,桥接模式(Bridge Pattern),适配器模式(Adpter Pattern),合成模式(Compsite Pattern),门面模式(Facade Pattern),装饰模式(Decorator Pattern),代理模式(Proxy Pattern),享元模式(Flyweight Pattern),分离接口与实现桥接模式,统一不同的接口适配器模式,统一聚集类和个体类的接口合成模式,通过对外提供一组接口或多个接口,隐藏内部细节 门面模式,在保持原有行为过程的前提下,扩展而不是修改行为过程装饰模式,第四部分 行为型模式,策略模式(Strategy Pattern),状态模式(State Pattern),中介者模式(Mediator Pattern),命令模式(Command Pattern),责任链模式(Chain of Responsibility Pattern),观察者模式(Observer Pattern),访问者模式(Vistor Pattern),模板方法模式(Template Method Pattern),行为的变化或差异,由于算法策略等-策略模式,一个或多个行为都与状态有关-状态模式,基本行为过程稳定,子过程变化-模版方法,将交互部分独立出来-中介者模式,观察者模式,命令模式,责任链模式,访问者模式,
展开阅读全文