Solo  当前访客:2 开始使用

CoderV的进阶笔记


Everybody wants go to heaven, but nobody wants to die.

GOF设计模式小白教程之装饰者模式

2019-08-29 22:35:47 valarchie
0  评论    0  浏览

装饰者模式(Decorator)

定义:

指在不改变现有对象结构的情况下,动态地给该对象增加一些职责(即增加其额外功能)的模式,它属于对象结构型模式。

通俗解释:

在很多网络游戏当中,武器都可以进行附魔。比如一把普通的刀。可以附魔火属性,也可以再附魔冰属性,还可以再附魔风属性。对于武器的附魔。相当于动态地给武器添加额外的功能。在装饰者模式中,被装饰的对象和装饰对象继承的是同一个接口,所以对象被装饰过后还是跟原来的对象接口一致,所以就可以不同组合的进行装饰。

GOF设计模式小白教程之桥接模式

2019-08-29 21:53:31 valarchie
0  评论    0  浏览

桥接模式(Bridge)

定义:

将抽象与实现分离,使它们可以独立变化。它是用组合关系代替继承关系来实现,从而降低了抽象和实现这两个可变维度的耦合度。

通俗解释:

假设我们写一个画图程序,要实现画长方形、正方形、圆形。很简单我们只需要抽象出一个Shape抽象类,然后长方形、正方形、圆形继承这个Shape类,绘制方法就交给子类实现。但是如果再加上一个需求,要绘制红黄蓝三种颜色的图形怎么办?如果再用继承来实现这个需求的话,光长方形就需要红长方形,黄长方形,蓝长方形三个子类。依次类推,一共需要继承出九个子类。SOLID原则讲到要尽量用聚合来替代继承来扩展功能。多层级的继承代码耦合性非常大,而且类不利于重用。这时候就需要桥接模式。通过抽象的Shape类当中去持有抽象的Color类,打破原本的继承关系,那么Shape类的扩展和Color的扩展都可以独立的变化不需要修改原类,这也是开闭原则的一种体现。

GOF设计模式小白教程之单例模式 有更新!

2019-08-28 21:26:21 valarchie
0  评论    0  浏览

单例模式(Singleton)

定义:

该模式只涉及到一个类,该类负责创建自己的对象,同时确保只有唯一一个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。

通俗解释:

好比以前的计划生育一对夫妻只能有一个孩子,因为生育抚养孩子的成本太高了。所以限制只能有一个。单例模式也是如此,为了节省创建对象的成本或节省对象占用的内存空间而实现的模式。

单例模式最重要的三点特征如下:

  • 单例类只有一个实例对象;
  • 该单例对象必须由单例类自行创建;
  • 单例类对外提供一个访问该单例的全局访问点;
TOP