策略模式(Strategy Pattern) 详解
本文地址: http://blog.csdn.net/caroline_wendy/article/details/26577879
本文版权所有, 禁止转载, 如有需要, 请站内联系.
策略模式: 定义了算法族, 分别封装起来, 让它们之间可以相互替换, 此模式让算法的变化独立于使用算法的客户.
对于父类的子类族需要经常扩展新的功能, 为了使用父类比较灵...
分类:
其他好文 时间:
2014-05-23 02:35:13
阅读次数:
341
观察者模式定义:定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。
简单定义:让对象能够在状态改变时被通知。
OO原则:
为了交互对象之间的松耦合设计而努力。
以书中的WeatherStation为例:
Subject.java(定义接口)
package headfirst.observer.weather;
pu...
分类:
其他好文 时间:
2014-05-23 01:54:21
阅读次数:
337
话说,《西游记》中有这样一段故事,玉帝命令太白金星召美猴王上天:"金星径入水帘洞当中,面南立定道:我是西方太白金星,奉玉帝招安圣旨,请你上界报道,拜受仙录。具体对话内容如下所示:
太白金星:大圣,我主玉帝听说你才能出众,对你非常期待啊。
孙大圣:是么,真的?
太白金星:上界众仙也很仰慕大圣你啊。
孙大圣:这.........
分类:
其他好文 时间:
2014-05-23 00:34:08
阅读次数:
273
策略模式定义:定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。
简单定义:封装可以互换的行为,并使用委托来决定要使用哪一个。
OO原则:
封装变化
多用组合,少用继续。
针对接口编程,不针对实现编程。
以书中的Duck为例:
Duck.java(抽象类,performFly()与performQuack()函数的实现委托给行为类,行为由子类...
分类:
其他好文 时间:
2014-05-22 23:20:51
阅读次数:
346
抽象工厂模式,提供一个创建一系列相关或者相互依赖对象的接口,而无需指定他们具体的类。
抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态。抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产品的具体情况下,创建多个产品族中的产品对象。根据LSP原则,任何接受父类型的地方,都应当能够接受子类型。因此,实际上系统所需要的,仅仅是类型与这些抽象产品角色...
分类:
其他好文 时间:
2014-05-22 23:20:13
阅读次数:
222
上一次,我们了解了委托,委托和Lambda表达式结合是一件灰常灰常爽的事情,这也是只有.Net才有,自己偷着笑去吧。几天这次,我要介绍一下继承和多态,这是进行面向对象编程必须熟练掌握的技术和思想。
1.1 类
继承,儿子继承父亲的遗产,这是生活中的体现,在面向对象的编程中,父亲和儿子都是对象的抽象集合,也就是类。什么是类呢?就是一些具有共同特征的对象集合,例如:狗都有四条腿,一...
分类:
移动开发 时间:
2014-05-22 22:53:34
阅读次数:
541
设计模式3——建造者模式
1 解释
1.1 定义
将一个复杂对象的构建与他的表示分离,使得同样的构建可以创建不同的表示。
1.2 分析
首先我们看看一般的实例化对象的方法,如下面代码:
Roboter roboter = new Roboter();
roboter.setmArm("arm");
roboter.setmBody("...
分类:
其他好文 时间:
2014-05-22 22:36:05
阅读次数:
314
以下是对《Head First 设计模式》中提到的OO原则和设计模式的总结。
OO原则和设计模式的联系:模式可以让我们建造出具有良好OO设计质量的系统。模式被认为是历经验证的OO设计经验。
OO设计原则:
1.封装变化:找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起;
2.多用组合,少用继承;良好的OO设计必须具备可复用、可扩充、可维护三个特性。
3...
分类:
其他好文 时间:
2014-05-22 17:05:00
阅读次数:
231
/************************************************************************设计模式原型模式所谓原型模式,也就是从一个对象再创建另外一个可定制的对象,而且不需要知道任何创建的细节。注意的是:必须是同一个类的对象。从语法角度讲,使用...
分类:
其他好文 时间:
2014-05-22 14:24:47
阅读次数:
308