码迷,mamicode.com
首页 > 其他好文 > 详细

【设计模式】学习进度

时间:2017-06-17 23:20:22      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:变化   一对多   不同   装饰者   特色   模式   实例化   star   算法   

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

eg 鸭子

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

eg 气象台

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

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

eg starbuzz

4、工厂模式

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

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

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

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

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

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

  产品类Product

  产品类和创建者类平行。

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

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

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

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

【设计模式】学习进度

标签:变化   一对多   不同   装饰者   特色   模式   实例化   star   算法   

原文地址:http://www.cnblogs.com/kotete/p/7041562.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!