设计模式
藤原豆腐店-
准备迁移博客,新博客地址:https://www.jianshu.com/u/16102e967c0f
展开
-
Java设计模式之 命令模式解析
命令模式主要是用来将命令发出者和命令响应者解耦合。将命令抽象成为类,命令发出者直接去调用命令,由命令再去调用具体的响应者,使得发出者和接受者不直接交互。也有利于将一组命令设计成一个命令队列或者宏命令,直接去调用命令队列,命令会一个一个的接着执行。当我们有新的命令的时候,不必对已有的发出者或者接受者进行修改,直接添加一个命令即可。比如有一个家用电器的接口,电器都有开关和调节亮度声音大小的命令,建...原创 2019-02-26 16:59:21 · 162 阅读 · 0 评论 -
Java设计模式之 建造者模式反思
应用场景:当创建一个复杂对象要牵扯到创建其他好几个对象时或者牵扯很多属性,也就是这个复杂对象的创建要通过一定的算法整合其他对象才能生成,这时候就可以使用建造者模式。官方说法:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。用户就只需要指定需要建造的类型就可以得到它们,而具体建造的过程和细节就不需要知道了。stringBuilder这个类就是使用的建造者模式,其中的...原创 2019-02-26 16:58:47 · 270 阅读 · 0 评论 -
Java设计模式之 工厂模式解析
工厂模式一般用于当我们创建复杂对象时,通过简单的new来创建会比较麻烦,这时候我们就可以使用工厂模式来创建一个工厂类,我们只需向工厂类中传入需要创建的类的有关信息即可,工厂类中实现了创建对象的复杂细节。比如我们创建一个制造汽车的工厂类,我们传入不同的车型号,制造出不同的车。 简单工厂模式:创建一个工厂类,在类中通过传入的参数不同创建不同的实体类。有新需求时需要更改工厂类中的代码,违...原创 2019-02-26 16:59:26 · 1821 阅读 · 1 评论 -
Spring AOP的作用,动态代理模式
AOP即面向切面编程。AOP是基于代理模式的。代理模式:当我们需要修改一个类,在类中加入代码时,为了不破坏这个类的封装性。可以使用代理模式,建立一个代理类。比如:修改需求,在调用UserController类的saveUser()方法之前要判断用户是否有权限,普通的办法我们可以直接修改类中的saveUser()方法。用代理模式就是,建立一个代理类,在调用saveUser()方法之前再加...原创 2019-02-26 17:16:40 · 2375 阅读 · 1 评论 -
Java设计模式之单例模式
单例模式就是指一个类只能产生一个实例,所有操作都围绕这一个实例进行。单例模式的作用是:当一个类被频繁的用到,并且使用的用途几乎都是一样的,那么就可以是用单例模式,比如说windows上的任务管理器或者回收站,用途都是一样的,而且我们绝对不可能打开两个任务管理器。还有我们用到的数据库连接池,如果是简单地把一个connection对象封存在单例对象中,这样是错误的,因此连接池里有多个链接可以用,如...原创 2019-02-26 17:17:01 · 156 阅读 · 0 评论 -
适配器模式在Java中的应用
Java中Array.asList()方法就是用的适配器模式,这个方法只是在原来的数组上包了一次list,实际上数据还是保存在数组中。如果对Array.asList()方法得到的list调用add,remove等操作,将抛出了UnsupportedOperationException。因为asList()方法返回的是Array的一个内部类,并不是正经的List类,它并没有实现List类的一...原创 2019-03-05 16:06:46 · 669 阅读 · 1 评论