用装饰者模式展示女人的一生

原创 2012年03月29日 15:57:51
1.2.4 装饰模式
      动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。
  适用性
      1.在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责。
      2.处理那些可以撤消的职责。
      3.当不能采用生成子类的方法进行扩充时。
    参与者
      1.Component
      定义一个对象接口,可以给这些对象动态地添加职责。
      2.ConcreteComponent
      定义一个对象,可以给这个对象添加一些职责。
      3.Decorator
      维持一个指向Component对象的指针,并定义一个与Component接口一致的接口。
      4.ConcreteDecorator
      向组件添加职责。
package structural.decorator;

public interface IFemale {
    public void look();
}
package structural.decorator;

//胎儿
public class Fetus implements IFemale {

    public void look() {
        System.out.println("受孕之后,胎儿开始发育,就像一个花生那么大点.");
    }
}

package structural.decorator;

//小女孩
public class LittleGirl implements IFemale{
    Fetus fetus;
    public LittleGirl(Fetus fetus){
        this.fetus = fetus;
    }
    public void look() {
        fetus.look();
        System.out.println("出生之后,小女孩子一点点长大,天真烂漫,清纯可爱.");
    }
}

package structural.decorator;

//少女
public class Maiden implements IFemale {
    LittleGirl littleGirl;
    public Maiden(LittleGirl littleGirl){
        this.littleGirl = littleGirl;
    }
    public void look() {
        littleGirl.look();
        System.out.println("少女长大成人,楚楚动人,少女情怀总是诗.");
    }

}

package structural.decorator;

//母亲
public class Mother implements IFemale {
    Maiden maiden;
    public Mother(Maiden maiden){
        this.maiden = maiden;
    }
    public void look() {
        maiden.look();
        System.out.println("遇到喜欢的人坠入爱河,结婚生子,散发着成熟的魅力.");
    }

}
package structural.decorator;

//老妇人
public class OldLady implements IFemale {
    Mother mother;
    public OldLady(Mother mother){
        this.mother = mother;
    }
    public void look() {
        mother.look();
        System.out.println("子女渐渐长大,自己一天天老去,皱纹爬满脸庞,直至回归尘土.");
    }

}
package structural.decorator;

public class DecoratorEntry {

    public static void main(String[] args) {
        OldLady oldLady = new OldLady(new Mother(new Maiden(new LittleGirl(new Fetus()))));
        oldLady.look();
    }
}




女人一生要做的事

18岁至28岁 一、多读书,多思考。其好处到你25岁以后会逐渐显现。知识才能改善命运,而老公只能改变你的生活,你可以是知识的主人,但你只是老公的配偶。 二、争取考入一个起码二流的大学,当然一流最好。读...
  • liangshoulong
  • liangshoulong
  • 2017年08月04日 22:02
  • 55

[深入理解计算机系统]Hello World的一生

一个Hello.c程序如表1.1所示。 Hello.c #include int main() {          printf(“Hello World\n”);        ...
  • bearthur1234
  • bearthur1234
  • 2014年04月09日 19:56
  • 1530

专访精致女人导师——兆衡老师,精致,就是活的够优雅!

每个人都希望自己的脸蛋儿红润有光泽,因为这不仅能给人带来美感,还能让自己精神更愉快,更能有益于身心健康。因为对时尚的不屑追求,兆衡老师,就在美容时尚导师这个行业越走越远,并获得了无与伦比的成就。 ...
  • z149071978
  • z149071978
  • 2017年05月08日 15:47
  • 462

工作前5年决定你一生的财富

工作前5年决定你一生的财富工作前5年决定你一生的财富 第0章致朋友让我们一起在理财路上快乐前行 第一部分 我的理财手札 第一章 理财意识觉醒 第二章 存钱大作战10时代 第三章 存钱大战中20时代盲目...
  • u012665008
  • u012665008
  • 2016年06月16日 23:27
  • 1474

一个IO的传奇一生 (1)

一个IO的传奇一生 (1) 标签:IO EXT3 SAS 版权声明:原创作品,如需转载,请与作者联系。否则将追究法律责任。 前言 前几天同事提议写一篇文章来仔细...
  • haiross
  • haiross
  • 2015年02月04日 15:24
  • 1349

智力推理:三个孩子的年龄分别是多少?

一普查员问一女人,“你有多少个孩子,他们多少岁?”女人回答:“我有三个孩子,他们的岁数相乘是36,岁数相加就等于旁边屋的门牌号码。“普查员立刻走到旁边屋,看了一看,回来说:“我还需要一些资料。”女人回...
  • xiaojimanman
  • xiaojimanman
  • 2015年08月11日 15:06
  • 3049

helloworld背后发生了什么?(CSAPP笔记2)

任何一个学过C语言的同学,第一个程序应该都是写一个“hello world“。我们编辑好一个hello world,一般来说,只需要轻轻一点编译器的“编译”“运行”,屏幕上就会出现一句hello wo...
  • xy913741894
  • xy913741894
  • 2017年04月24日 17:00
  • 171

《让你受益一生的59个好习惯》感悟

《让你受益一生的59个好习惯》感悟 1、做人做事的道理都懂,做起来就是要耗尽一生的时间来修行。人生就是一场修行。 2、对照《让你受益一生的59个好习惯》,做到的就保持,暂时做的不好的,就努力改...
  • wxfsjtu
  • wxfsjtu
  • 2017年07月30日 12:42
  • 158

如何悄无声息渡过36岁中年危机?【转】

今天分享是一些已经渡过中年危机的前辈们,分享的经验。看看他们都是如何优雅的过渡这段时期的。 1 人物一:陈睿,前百度研发经理,携程定制旅游 CT...
  • xiangxizhishi
  • xiangxizhishi
  • 2018年01月04日 17:05
  • 121

会做饭,对女性来说很重要吗?

Justin Lee ,「个人公众号A-to-Q」 5795 人赞同 我以前以为自己喜欢做饭,刚一个人住的时候,兴致勃勃地买了锅碗瓢盆,瓶瓶罐罐搬了一堆回家,每天乒乒乓乓炒三四个菜,那...
  • GarfieldEr007
  • GarfieldEr007
  • 2016年07月13日 15:16
  • 1653
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用装饰者模式展示女人的一生
举报原因:
原因补充:

(最多只允许输入30个字)