《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 interfacetemp
2 implements interfacetemp { 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
    相互之间太多关系 =====》米字形关系 中间有一调停者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值