# designpattern **Repository Path**: quasars/designpattern ## Basic Information - **Project Name**: designpattern - **Description**: 自学设计模式的工程,希望这次能拿下 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-01-02 - **Last Updated**: 2021-01-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 设计模式学习 ## 1 策略模式 Strategy Pattern *** *策略模式定义了算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。* **设计原则:** 找出应用中可能需要变化之处,把他们独立出来,不要和那些不需要变化的代码混在一起。 **设计原则:** 针对接口编程,而不是针对实现编程。 **设计原则:** 多用组合,少用继承。 **设计原则:** 为了对象之间的松耦合而设计。 **设计原则:** 类应该对扩展开放,对修改关闭。 **设计原则:** 要依赖抽象,不要依赖具体类。 ## 2 观察者模式 *** *观察者模式定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有的依赖者都会收到通知并自动更新* ## 3 装饰者模式 *装饰者模式动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。* ## 4 工厂方法模式 *工厂方法模式定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。*