《java与模式》笔记
1 总体认识{{{1
共享的词汇 让你和其他开发人员之间有共享的词汇,一旦懂这些词汇,和其他开发人员之间沟通这些观念就很容易,也会激起那些不懂的程序员想开始学习设计模式。
提升思考架构的层次到模式层面,而不是停留在琐碎的对象上。
[img][attach]11[/attach][/img]
3种:
创建模式:类和对象的创建
结构模式:类或者对象组成更大的结构
行为模式:在不同的对象之间划分责任和算法
UML类图
性质即 内部变量和set(),get()组成
Junit
2 学习方法{{{1
设计模式 通过23趣解理解概念 java类why how 设计,理解简单实例
3 各个模式{{{1
3.1 创建模式{{{1
3.1.1 简单工厂{{{2
3.1.2 工厂方法{{{2
3.1.3 抽象工厂{{{2
3.1.4 单例类{{{2
单例类:一个类只有一个实例
java中应用:
private m_instance
private 构造函数
getinstance(){ return m_instance}
会看类图、序列图相当重要 简单明了
类图只能反映模式的静态结构,对于创建模式而言,活动图是相当重要的。
--------------------------------------------------------------------------------
3.1.5建造模式{{{2
3.1.6原始模型{{{2
原始模型
Object
cloneable Serializable
浅复制 深复制
--------------------------------------------------------------------------------
3.2 结构模式{{{1
3.2.1 适配器模型{{{2
1 extends classtemp implements inte易做图cetemp
2 implements inte易做图cetemp { Classtemp classtemp; 调用classtemp方法}
=====================================
3.2.2 合成模式{{{2
3.2.3 装饰模式{{{2
private 齐天大圣c;
public 七十二般变化(齐天大圣c)
{
super();
this.c=c;
}
public void move(){
c.move();
}
ex:reader x=new bufferreader(in);
为所装饰对象提供增强功能
3.2.4代理模式{{{2
InvocationHander
invoke()
Proxy
对对象的使用施加控制
3.2.5享元模式{{{2
字体:字母为享元,位置和风格为外蕴状态
3.2.6门面模式{{{2
保安系统 包括 开灯、开监视器等
3.2.7桥梁模式{{{2
抽象化与具体化分开
飞机 制造者
类型 具体厂商
3.3 行为模式{{{1
3.3.1不变模式{{{2
final class
优缺点:
1.易维护
2.安全性
3.3.2策略模式{{{2
封装不同算法
3.3.3模板模式{{{2
大方法划分成若干个小方法
ps:面向对象四大特征:
抽象化
继承 类子类可获得父类相关属性
封装 各种权限去访问类属性、方法 或接口
多态性 多个类去相同属性,其他各异化 注重点是多个子类
3.3.4 观察者模式{{{2
"我"和“妹妹”向主题“妈妈”登记了感兴趣的“饭熟了”,“妈妈”在事件发生时,通知观察者“我”和“妹妹”,使其采取相应的行动“吃饭”。
java中Observable, Observer
3.3.5 迭代子模式{{{2
Colliection Iterator
可以顺序访问一个聚集中的元素而不必暴露聚集的内部表象。
3.3.6责任链模式{{{2
击鼓传花
DHTML 中DOM event 传播
captureEvent()releaseEvent()
3.3.7 命令模式{{{2
Callback
Command play = new PlayCommand(myAudio);
Command stop = new StopCommand(myAudio);
Command rewind = new RewindCommand(myAudio);
keypad = new Keypad(play, stop, rewind);
keypad.play();
keypad.stop();
keypad.rewind();
keypad与myAudio没有直接打交道
一个命令一个类
3.3.8 备忘录模式{{{2
难理解
3.3.9 状态模式{{{2
有状态对象 如一组编钟
state setstate()
3.3.10 访问者模式{{{2
3.3.11 解释器模式{{{3
文法 解释
3.3.12 调停者模式{{{2
相互之间太多关系=====》米字形关系 中间有一调停者
补充:软件开发 , Java ,