空对象是个很有意义的设计,
比如:
public class NoCommand implements Command
{
public void execute()
{}
}
这个代码是来自于《Head First 设计模式》----命令模式
它可以有效的避免这样的代码
if.....
else if,.......
等
在进行处理之前,给出一个默认的初始化的空对象,
之后就可以一视同仁的去处理
OO基础:
抽象
封装
多态
继承
OO原则:
封装变化
多用组合,少用继承
针对接口编程,不针对实现编程
开闭原则
为交互对象的送耦合和设计
依赖抽象,不依赖具体类
命令模式:
其实我们已经用了不知道多少次这个模式了,我们在使用struts webwork的时候,其地层就采用的命令模式进行资源分发的。
UML图:
下班了 ,下周再说
上图描述,角色:调用者,命令,接受者,客户端。
代码示例:调用者
1、
public class Invoker {
Command command;
public void setCommand(Command command) {
this.command = c ...
Prototype模式(原形模式)
实现java里的Cloneable接口
不再多说
深拷贝。。。。。。。。。。。。。。。。。。。。。。。
单例模式;
就是保证在整个系统的运行过程中,仅仅创建一个事例:
public class Singleton {
private Singleton(){}
//在自己内部定义自己一个实例,是不是很奇怪?
//注意这是private 只供内部调用
private static Singleton instance = new Singleton();
//这里提供了一个供外部访问本class的静态方法,可以直接访问
public static Singleton ...
外观模式,就是对一个功能模块进行封状对外的接口,调用者不需要了解其内部的构造,只要调用其对外暴露的接口即可
这里就不多说了
这个模式很简单,就不多说了,它主要是用来处理现有资源的复用的
1、类的适配--采用的继承,不好,不推荐使用
2、对象的适配---采用的组合,可以
- 浏览: 16250 次
- 性别:

- 来自: 上海

- 详细资料
搜索本博客
最近加入圈子
最新评论
-
做了几年软件,我都做了什 ...
坚持上BBS灌水近10年了... 水木清华开始的...
-- by lordhong -
做了几年软件,我都做了什 ...
我这么多年,一直在用手指打键盘,我干了什么了?
-- by 庄表伟 -
做了几年软件,我都做了什 ...
有感想很正常,当年一个弟兄就坐在我边上,配合着点头压抑的喊 insert del ...
-- by zingers -
做了几年软件,我都做了什 ...
我只能说羡慕
-- by who_who -
做了几年软件,我都做了什 ...
lz最好有一个长远的目标:5年后你要做什么样的人?
-- by hideto






评论排行榜