首页 > 代码库 > 【设计模式】学习进度

【设计模式】学习进度

1、策略模式:定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。

eg 鸭子

2、观察者模式:定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。

eg 气象台

3、装饰对象:动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。

  装饰者和被装饰者具有共同的超类。

eg starbuzz

4、工厂模式

所有工厂模式都用来封装对象的创建。

(1)简单工厂:只是把具体制造不同种类pizza的过程放到工厂里。

(2)工厂方法模式(Factory Method):定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。

通过让子类决定该创建的对象是什么,来达到将对象创建的过程封装的目的。

eg 不同地方做不同地方特色口味的pizza

  创建者Creator:通常包含依赖子抽象产品的代码,而抽象产品由子类制造,创建者不需要真的知道在制造哪种具体产品。

  产品类Product

  产品类和创建者类平行。

(3)抽象工厂模式:提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。

  每一个具体工厂都能生产一个产品家族。客户创建产品时,只需要使用某一个具体工厂,而不需实例化任何产品对象。

eg 不同地区有不同的工厂来制造不同的调料(调料包括很多不同种类,也就是产品家族) 

5、单件模式:确保一个类只有一个实例,并提供一个全局访问点。

【设计模式】学习进度