设计模式
加斯特独挨踢
这个作者很懒,什么都没留下…
展开
-
我的设计模式-工厂(Factory Method)
工厂模式主要解决对象实例的创建问题,就是建造一个工厂类,来负责实现了同一接口的所有类的实例的创建。这种模式比较简单,下面举打印机的例子进行说明: 使用方通过打印机工厂类来获取具体打印机的实例,通过这种方式,将使用方和具体的打印机实现类进行了解耦,后续调整修改都非常方便,且对使用方基本没有影响;原创 2016-11-22 17:16:51 · 313 阅读 · 0 评论 -
我的设计模式-抽象工厂(Abstract Factory)
抽象工厂主要是在工厂模式的基础上,将对象实例生成工厂进行了抽象,增加了对象实例生成工厂的拓展性。 工厂模式可以参看: 点击打开链接 以下举例说明抽象工厂模式: 可能有多种打印机,但都有打印方法; 将原有工厂模式的打印机工厂类进行封装,通过实现统一的接口来实现不同的打印机实例的建造工厂,增加了打印机工厂的扩展性,使程序更加灵活。原创 2016-11-22 17:48:49 · 287 阅读 · 0 评论 -
我的设计模式-单例(Singleton)
单例模式是最常见的设计模式,比较简单,就是保证在JVM内,一个对象只有一个实例存在。比如:spring bean默认模式就是单例。 一般按照对象实例创建的时机,单例又分为懒汉模式和饿汉模式: 懒汉模式在类加载的时候不创建对象实例,在实际使用中判断对象实例是否存在,如果存在则直接返回;如果不存在,则new出对象实例再返回; 该模式有3个关键点: 1、构造函数私有; 2、静态获取原创 2016-11-22 20:40:59 · 272 阅读 · 0 评论 -
我的设计模式-适配器(Adapter)
适配器是用来解决原来的目标接口和现有的方法没有办法一起使用的问题,通过适配器模式,将现有方法适配至原有接口模式进行使用。这种情况其实在实际应用中存在很多问题,并不是一种设计模式就可以解决的问题,所以适配器模式实际场景使用并不广泛,不过可以了解下实现思路。 从上图不难看出,原有接口和现有实现类无法一起使用,通过适配类实现原有接口,以及注入的现有实现类的实例对象,实现了将现有方法适配原创 2016-11-22 21:13:22 · 265 阅读 · 0 评论 -
我的设计模式-装饰(Decorator)、代理(Proxy)
经常会有一种场景,需要临时增加一段业务逻辑,该段业务逻辑使用一段时间后需要失效,比如:按照时间段促销等等,这种就可以使用装饰模式进行实现。装饰模式是动态的给某对象增加一些新的功能,要求装饰类实现同一接口,并且拥有被装饰类的对象实例。实现类图如下: 通过新增装饰类实现原有接口,在实现的方法内新增装饰内容,再调用原有的方法来实现扩展原有实现类的功能。通过实现接口,可以实现装饰类的动态原创 2016-11-22 22:25:07 · 347 阅读 · 0 评论 -
我的设计模式-外观(Facade)
外观模式是解决类与类之间的依赖关系的,很多应用框架将类与类的依赖关系配置在XML文件中,外观模式是使用一个外观类,将类与类的依赖关系定义在外观类中,降低类与类之间的耦合。 如果不使用外观类,那么类123之间就可能存在相互持有实例,造成严重的依赖关系。通过一个外观类,持有所有类123的对象实例,并在外观类中封装方法调用类123实例的方法,实现了类的解耦,后续调整只需要调整外观类中类原创 2016-11-22 22:49:57 · 417 阅读 · 0 评论