没有合适的资源?快使用搜索试试~ 我知道了~
Java中23种经典设计模式
需积分: 10 2 下载量 34 浏览量
2011-12-16
15:48:23
上传
评论
收藏 450KB DOC 举报
温馨提示
试读
64页
Java中23种经典设计模式
资源详情
资源评论
资源推荐
Java 设计模式(疯狂 Java 联盟版)
Java 中 23 种设计模式
目录
目录................................................................................................................................................... 1
1. 设计模式(超级详细)..................................................................................................................... 2
1.1 创建型模式................................................................................................................................. 2
1.1.1 工厂方法.................................................................................................................. 2
1.1.2 抽象工厂.................................................................................................................. 4
1.1.3 建造者模式............................................................................................................... 8
1.1.4 单态模式................................................................................................................ 11
1.1.5 原型模式................................................................................................................ 13
1.2 结构型模式....................................................................................................................... 15
1.2.1 适配器模式............................................................................................................. 15
1.2.2 桥接模式................................................................................................................ 17
1.2.3 组合模式................................................................................................................ 21
1.2.4 装饰模式................................................................................................................ 25
1.2.5 外观模式................................................................................................................ 27
1.2.6 享元模式................................................................................................................ 30
1.2.7 代理模式................................................................................................................ 33
1.3 行为型模式....................................................................................................................... 35
1.3.1 责任链模式............................................................................................................. 36
1.3.2 命令模式................................................................................................................ 39
1.3.3 解释器模式............................................................................................................. 42
1.3.4 迭代器模式............................................................................................................. 44
1.3.5 中介者模式............................................................................................................. 48
1.3.6 备忘录模式............................................................................................................. 51
1.3.7 观察者模式............................................................................................................. 53
1.3.8 状态模式................................................................................................................ 58
1.3.9 策略模式................................................................................................................ 60
1.3.10 模板方法.............................................................................................................. 63
1.3.11 访问者模式........................................................................................................... 65
1
Java 设计模式(疯狂 Java 联盟版)
1. 设计模式(超级详细)
1.1 创建型模式
AbstractFactory ( 抽象工厂 )
FactoryMethod ( 工厂方法 )
Singleton ( 单态模式 )
Builder ( 建造者模式 )
Protot*pe * 原型模式 )
1.1.1 工厂方法
*义一个用于创建对象的接口,让子类决定实例化哪一个类。FactoryMethod
使一个类的实例*延迟到其子类。
适用性
1.当一个类不知道它所必须创建的对象的类的时候。
2.当一个类希望由它的子类来指定它所创建的对象的时候。
3.当*将创建对象的职责委托给多个帮助*类中的某一个,并且*希望将哪一个
帮助子类是代理者这一信息局部化的时候。
参与者
1.Product
定义工厂方法所创建的对象的接口。
2.ConcreteProduct
实现 Product 接口。
3.Creator
声明工厂方法,该方法返回一个 Product 类型的对象*
2
Java 设计模式(疯狂 Java 联盟版)
Creator 也可以定义一个工厂方法的缺省实现,它返回一个缺省的
ConcreteProduct 对象。
可以调用工厂方法以创建一个 Product 对象。
4.ConcreteCreator
重定义工厂方法以返回一个 ConcreteProduct 实例。
类图
例子
*roduct
public interface Work {
void doWork();
}
ConcreteProduct
public class StudentWork implements Work {
public void doWork() {
System.out.println("学生*作业!");
}
}
public class TeacherWork implements Work {
public void doWork() {
System.out.println("老师审批作业!");
}
}
Creator
public interface IWorkFactory {
3
Java 设计模式(疯狂 Java 联盟版)
Work get*ork();
}
Concre*eCreator
pu*lic class StudentWorkFactory implements IWorkFactory {
public Work getWork() {
*eturn new StudentWork();
}
}
public class TeacherWorkFactory implements IWorkFactory {
public Work getWork() {
return new TeacherWork();
}
}
Test
public class Test {
public static void m*in(Strin*[] args) {
IWorkFactory studentWorkFactory = new StudentWorkFactory();
studentWorkFactory.getWork().d*Work();
IWorkFactory teacherWorkFactory * new TeacherWorkFactory();
teacherWorkFactory.g*tWork().*oWork();
}
}
result
学生做作业!
老师审批作业!
1.1.2 抽象工厂
提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。
4
Java 设计模式(疯狂 Java 联盟版)
适用性
1.一个系统要独立于它的*品的创建、组合和表示时。
2.一个系统要由多个产品系列中的一个来配置时。
3.当你要强调一系列相关的产品对象的设计以便进行联合使用时*
4*当你提供一个产品类库,而只想显示它们*接口而不是实现时。
参与者
1.Ab*tractFactory
声明一个创建抽象产品对象的操作接口。
2.ConcreteFactory
实现创建具体产品对象的操作。
*.AbstractProduct
为一类产品对象声明一个接口。
4.ConcreteProdu*t
定义一个将被相应的具体工厂创建的产品*象。
实现*bstractProduct 接口。
5.Client
仅使用由 AbstractFactory 和 AbstractProduc*类声明的接口
类图
例子
5
剩余63页未读,继续阅读
h396463735
- 粉丝: 22
- 资源: 23
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0