设计模式
AndyJson
这个作者很懒,什么都没留下…
展开
-
设计模式--策略模式
策略模式:定义算法族,分别封装起来,让他们之间可以互相替换,次模式让算法的变化独立于使用算法的客户。 模拟鸭子Joe是一名OO程序员,他为一家开发模拟鸭子池塘游戏的公司工作,该公司的主要产品是一种可以模拟展示多种会游泳和呷呷叫的鸭子的游戏。这个游戏是使用标准的面向对象技术开发的,系统里所有鸭子都继承于Duck基类,系统的核心类图如下: 如图所示,在Duck基类里实现了公共的quack()和swi转载 2016-11-06 19:55:09 · 217 阅读 · 0 评论 -
设计模式--装饰者模式
装饰者模式:动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。 来杯咖啡Central Perk的名字因为《老友记》而享誉全球,他们的分店几乎开遍世界各地。他们发展的实在是太快了,所以他们此时正在急于实现一套由计算机管理的自动化记账系统。在第一次研究了他们的需求以后,开发者设计了如下图的类结构: Beverage是所有饮料的基类;cost()是抽象方法,所有子类都原创 2016-11-06 20:37:08 · 279 阅读 · 0 评论 -
设计模式--观察者模式
观察者模式:在对象之间定义一对多依赖,这样一来,当一个对象改变状态,依赖它的对象都会受到通知,并自动更新。气象站的故事现在我们要为一家气象站开发一套气象监控系统,按照客户的要求,这个监控系统必须可以实时跟踪当前的天气状况(温度、湿度、大气压力),并且可以在三种不同设备上显示出来(当前天气状况、天气统计、天气预测)。客户还希望这个系统可以对外提供一个API接口,以便任何开发者都可以开发自己的显示设备,转载 2016-11-06 20:19:45 · 321 阅读 · 0 评论 -
设计模式--工厂模式
工厂方法模式:定义了一个创建对象的接口,但由于子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。抽象工厂模式:提供了一个接口,用于创建相关或依赖对象的家族,而不需要明确指定哪个类。原创 2016-11-06 21:05:55 · 371 阅读 · 0 评论