“模”法无边-设计模式1
2019-04-14 12:46 发布
生成海报
忽然想起了王金博同学写的那篇博客《把那个人当作自己》,学习大话模式的时候,其实,作者已经将读者定位了,那就是小菜,所以把小菜当作自己,学习《大话模式》这本书,才会有更大的收获。但是我似乎高估了自己的能力,我远没有小菜那么高的学习能力和理解能力,只能对自己说一声,加油
大话模式已经学了一半 , 理解的尚浅 , 说说自己的理解 , 我觉的众多的模式 , 都是巧妙地运用继承 , 多态 , 封装也就是面向对象的三大特征的结果。
简单工厂模式
利用父类工厂指定创建的具体子类,由具体子类实例化成相对应的对象。然后调用的该对象的属性,方法。在这里子类继承父类,并且重写了父类的(虚函数或)虚方法,虽表面调用的是父类的方法,但实际上是由已实例化的具体对象的方法,也就是子类的方法,这里运用了 多态。
策略模式
Context 与 Strategy 之间是聚合关系, Context has
a Strategy 而 ConcreteStrategyA, ConcreteStrategyB, ConcreteStrategyC 均是 Strategy 的子类。 Context 中的方法调用 Strategy 的方法,然后根据 Strategy 的具体实例化对象,对其子类的方法进行调用。这里运用了面向对象的 继承,多态。
单一职责原则
再好不过的一个类有且只有一个引起它变化的因素(呵呵, 这句话是我背过的) 再通俗一下,就是再好不过的一个类,有且只有一个功能。 C# 编程中有且仅有类组成,如果类做到了单一职责原则有助于类的复用,程序的维护。
开放 - 封闭原则
如果必须对类,进行修改,那么最好的修改方式是增加一些类 如果预测到必须(或者可能)要对类,进行修改,那么最好是将这些类进行进一步的抽象,得到抽象类,然后增加子类,或者修改子类已完成对它的修改。
依赖倒转原则
以我们日常用的暖水壶为例,有三部分构成,瓶胆,外壳,壶塞,其中任何一个坏了,我们都可以进行更换,将暖水壶比作程序 1 ,瓶胆,外壳,壶塞比作三个类,这三个类可以随时被复用。 我们日常生活中用的水杯,如果杯身破了,那么杯盖也就不能用了。将水杯比作程序 2 ,杯身,和杯盖比作两个类。两个类耦合度太高。 作为一个优秀的程序员,我们应该尽量做程序 1 这样的程序。
里氏代换原则
在一个继承体系中,多态的实现是父类通过具体实例化对象的不同使用子类的方法。 那么就应该满足子类和父类拥有完全相同的属性和方法。
装饰模式
先运行父类的方法,再运行子类的方法,已达到子类方法对父类方法的修饰。 通过多重继承实现利用 base 调用父类的方法,先实现子类的方法,再实现父类的方法。这里充分地应用了 继承 。 通过 SetComment 使一个类成为另一个类的成员。 同名方法的套用。
代理模式
代理者和被代理者拥有相同的方法和属性 被代理者是代理者的一个成员 代理者调用被代理者的方法
工厂方法模式 VS 简单工厂
工厂方法模式
M 的 N 次方类对应 M 的 N 次方工厂
工厂的实例化 相应的工厂实例化相应的运算类 简单工厂
M 的 N 次方类对应一个工厂 工厂方法模式消除了简单工厂的开放 - 封闭原则,保持了封装对象创建过程的优点。
9 点 45 了,先发篇博客,之后继续总结,嘻嘻……
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮