YesLiu's Blog

设计模式系列-桥接模式

首先介绍下类的功能层次和类的实现层次: 类的功能层次是指,对类进行继承后进行的功能拓展,例如Car(车类),所有车都有启动和停止方法以及转弯等方法,但是现在我有一个特殊的车需要在Car车类的基础上加一个倒车影像功能,此时只需要继承Car类再自己的类中加一个倒车影像的方法即可。 类的实现层次是指,对类只进行继承和方法实现,而不新增方法。比如不同的车都有鸣笛功能,但是鸣笛方式需要不同车来实现。 ...

设计模式系列-代理模式

先讲静态代理模式,动态代理模式没太看懂….涉及到java的反射等语言特性,回头有时间再补吧 代理模式的主要角色如下。 抽象主题(Subject)类(业务接口类):通过接口或抽象类声明真实主题和代理对象实现的业务方法,服务端需要实现该方法。 真实主题(Real Subject)类(业务实现类):实现了抽象主题中的具体业务,是代理对象所代表的真实对象,是最终要引用的对象。 代理(Proxy)...

设计模式系列-原型模式

原型模式的类做了这样一个事情:该类可以创建当前对象的一个克隆,从而规避某些情况下直接创建对象代价比较大的问题。(某些情况下,通过new 去创建一个对象,需要非常繁琐的步骤,如:数据准备和检查访问权限等。使用原型模式可以简化这些操作。) 例如,一个对象需要在一个高代价的数据库操作之后被创建。我们可以缓存该对象,在下一个请求时返回它的克隆,在需要的时候更新数据库,以此来减少数据库调用。 在ja...