• 设计模式学习笔记——修饰模式(Decorator Pattern)


    学习TerryLee的设计模式颇有感触,留下以下笔记以作日后参考。

    代码
    //--------------------------------------------------------
    //修饰模式也是常用于类的扩展,这种方法可以使类的组合变得十分灵活。
    //--------------------------------------------------------

    #region 基础类

    public interface IPerson
    { }

    public class Man : IPerson
    { }

    public class Women : IPerson
    { }

    #endregion

    //--------------------------------------------------------
    //我们现在需要给男人和女人穿上衣服。
    //怎么做?
    //You can use Decorator Pattern.
    //--------------------------------------------------------

    #region 新增的类

    public class ClothesWapper : IPerson
    {
    IPerson Person;

    public ClothesWapper(IPerson person)
    {
    Person
    = person;
    }
    }

    public class Coat : ClothesWapper
    {
    public Coat(IPerson person)
    :
    base(person)
    { }
    }

    public class Trouser : ClothesWapper
    {
    public Trouser(IPerson person)
    :
    base(person)
    { }
    }

    #endregion

    #region 客户端调用

    public class App
    {
    public static void Main()
    {
    //给男人穿上外套
    Man man = new Man();
    ClothesWapper coatMan
    = new Coat(man);

    //给男人穿上裤子
    ClothesWapper trouserMan = new Trouser(man);

    //男人同时穿上外胎和裤子
    ClothesWapper coatAndTrouserMan = new Trouser(coatMan);
    }
    }

    #endregion
  • 相关阅读:
    个人阅读作业+个人总结
    个人作业Week3-案例分析
    个人作业Week2-代码复审
    个人作业-Week1
    个人项目-数独
    第0次个人作业
    团队项目-游戏引擎的考察
    Week3结对项目-数独游戏
    个人作业Week3-案例分析
    代码复审
  • 原文地址:https://www.cnblogs.com/chuifeng/p/1916616.html
Copyright © 2020-2023  润新知