前言:前几天学习了装饰模式寫下此博客
装饰模式:动态地给一个对象添加一些额外的职责。
简单来讲就是将一个对象的具体方法单独再写成一个新的类,在这个新類中写下各种具体执行的方法举个例子:为解决一个部门中组员权责模糊的问题,给部门设立各种小部门(分成各种类)并写下人员与責任文档但装饰模式更要细化一些,将一个小部门的责任从这个部门中再抽出来这样当我要修改或添加有关责任文档时,只需要修改戓添加责任文档就可以了而不需要对人员类的文档的修改。这样可以更好的遵循开放-封闭原则
base.Show();//跳转至父类的方法(重写时自带)
public Person()//声明┅个无参数的构造方法,方便在实例化无参数的变量时使用
//以下都调用了Person中无参数的构造函数 //将三个Decorate方法依次串联起来再结合Finery类中的Show方法内的判定,因此执行一次tst.Show()即可将四个方法全部有序的show出来
3.通过方法Decorate向Finery类中的component变量(该变量存的值就是各种具体装饰子类中的对象)有序地赋值 4.期间利用Finery类中的Show方法,保证有序运行
5.父类走完再通过子类导出Show
以上是自己对装饰模式与C#例子运行的见解,欢迎大家提出建议