摘要: 今天我要介绍的设计模式叫做代理模式。对于这个设计模式相信大家应该是比较熟系的,spring中的AOP使用的就是动态代理模式。代理模式的定义是:为其他对象提供一种代理以控制对这个对象的访问(摘自百度百科)。通俗一点讲:代理模式就是在客户端调用和目标接口中间添加一个代理角色就好比中介。代理模式,装饰器模 阅读全文
posted @ 2019-02-07 22:49 牧神风 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 外观模式又叫门面模式,在平时的开发中使用的极其的频繁但是却非常的简单。使用外观模式可以让客户端轻松的调用复杂的系统接口,因为客户端根本不关心子系统的内部是如何实现的,他们只需要调用门面类提供的方法即可。 举个例子,在日常生活中我们启动一台电脑只需要按一个开关即可,但是启动一台电脑的过程其实是很复杂的 阅读全文
posted @ 2019-02-06 20:57 牧神风 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 今天我们介绍的设计模式叫做装饰器模式,那么什么是装饰器模式,官方给出的解释为:装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。使用装饰器模式可以让我们在不使用继承的情况下动态的给原有的对象添加新的功能。 现在假设我们需要在连接数据库的方法上面添加 阅读全文
posted @ 2019-02-05 23:14 牧神风 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 桥接模式不是一个使用频率很高的设计模式,但是它非常好的体现了开闭原则和合成/聚合复用原则。所谓合成/聚合复用原则指的是在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分:新的对象通过向这些对象的委派达到复用已有功能的目的。使用合成/聚合复用原则可以使系统更加的灵活,降低系统间各个模块的耦合 阅读全文
posted @ 2019-02-04 22:03 牧神风 阅读(333) 评论(0) 推荐(0) 编辑
摘要: 在我们的日常生活中购买笔记本电脑通常会赠送给我们一个电源适配器,通过这个适配器即使我们的电脑没有提供可以适配插座的插头也可以充电。在实际的开发中我们有时也会遇到同样的问题,这时我们就可以使用适配器模式。所谓适配器模式,就是把一个接口转化成用户所希望的接口,使用适配器模式可以让那些接口不兼容的类在一起 阅读全文
posted @ 2019-02-03 19:20 牧神风 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 今天,我要介绍的设计模式叫做原型模式。所谓原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式(取自:菜鸟教程)。在java中,我们最常用的创建对象的方式就是使用new关键字,而原型模式则提供了另一种创 阅读全文
posted @ 2019-02-02 09:51 牧神风 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 什么是建造者模式,GOF给出的定义是:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。这句话其实表达的意思就是把构建对象这个复杂的过程和组成这个对象的部件解耦,使得相同的转配方式可以装配出不同的产品。 下面是建造者模式的类图: 下面我们用构建汽车的例子来介绍一下什么是建造者 阅读全文
posted @ 2019-01-30 12:08 牧神风 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 单例模式是我们平时使用最多的一种设计模式。它的设计目的是为了保证一个类只有一个对象实例。单例模式的实现思路为:首先我们需要私有化类的构造器,然后创建一个该类对象的静态属性,对用户暴露一个静态方法来返回该类对象的实例。下面我来介绍一下实现单例模式的几种方式: 1.饿汉式: 2.懒汉式(线程不安全的): 阅读全文
posted @ 2019-01-28 17:53 牧神风 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 抽象工厂模式是在原有的工厂模式中加入产品族的概念。要研究什么是抽象工厂模式就要首先了解什么是产品族。所谓产品族就是是指位于不同产品等级结构中,功能相关联的产品组成的家族。(摘抄自:百度百科)下面我用代码来解释一下什么是产品族。 首先定义两个产品的接口: 然后我们在定义四个具体的产品类,分别是Chin 阅读全文
posted @ 2019-01-28 13:17 牧神风 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 在简单工厂模式中实现了对产品类的开闭原则,但是对于工厂类而言却是不符合软件设计的开闭原则。工厂模式正是可以解决这个问题。在简单工厂模式中,我们定义了三个角色,工厂类,抽象产品类和产品类。其中产品类继承了抽象产品类,在工厂类存在一个抽象产品类的引用和一个静态方法来根据用户传入的业务逻辑创建对应的产品类 阅读全文
posted @ 2019-01-24 18:37 牧神风 阅读(93) 评论(0) 推荐(0) 编辑