设计模式
一撸向北
啊哈哈,咦嘿嘿,哦呵呵。
展开
-
设计模式之工厂模式
简介工厂模式属于设计模式的一种,主要目的是解决用户与产品之间的问题,向用户隐藏构建产品的复杂过程,使得产生对象能够批量、标准化。在spring中大量应用。代码结构可能分为三种模式:简单工厂模式工厂方法模式抽象工厂模式简单工厂模式类似于一个工厂,只有一条生产线,这条生产线可以生产A产品也可以生产B产品,主要靠传递的参数来区分生产何种产品。结构如下图,这种模式的缺点是参数的正确性可能...原创 2018-10-29 23:37:52 · 176 阅读 · 0 评论 -
设计模式之代理模式
代理模式是应用最广泛的设计模式之一,例如spring中的aop就是代理模式的实践。通常在java中使用比较广泛的是动态代理模式,其中实现方式比较常用的是jdk动态代理和cglib动态代理。jdk实现动态代理利用jdk实现动态代理代码比较简单,需要注意的是基于jdk的动态代理是必须基于接口才可以的,代码如下。定义接口。public interface Action { public...原创 2018-11-01 00:48:09 · 1396 阅读 · 0 评论 -
设计模式之单例模式
单例模式是Java中常用的设计模式之一,从系统启动到系统终止,保证一个类仅有一个实例,并提供一个访问它的全局访问点。例如spring中的bean默认都是单例模式。单例模式的实现方式有多种,一般以下几种饿汉式-变量初始化,饿汉式-静态块初始懒汉式-同步锁,懒汉式-双重检查锁,懒汉式-内部类延时加载登记注册式饿汉式饿汉式是保证线程安全的单例模式实现,在类加载的时候就进行单例对象初始化,...原创 2018-10-30 23:39:31 · 236 阅读 · 0 评论 -
设计模式之策略模式与模板模式
策略模式策略模式比较类似于一个计算有多种计算过程来获得结果,我们把每种计算方式封装为一个策略,把策略作为可选择参数来决定使用什么计算方式。代码示例定义策略接口,表示dofight计算过程。public interface FightStrategy { public void dofight();}定义实现策略类,表示各个不同的计算过程。public class Xiaoq...原创 2018-11-01 22:28:52 · 1812 阅读 · 1 评论 -
设计模式之适配器模式与委派模式
适配器模式适配器模式很多时候是为了避免修改老代码造成系统不稳定而进行的一种编码思路,使用适配器进行适配逻辑之后,在调用原来的老代码,保证程序原有功能不受影响。举个例子,假如有一台显示器,接口是vga接口,那么我们如果有个输出信号的hdmi信源想要在这显示器上显示就要转接头做适配,但是原来的显示器不用做任何改装。适配器模式就是类似这样的功能、。代码说明一下问题。定义一个显示器。只能接收VGA...原创 2018-11-02 00:47:55 · 908 阅读 · 0 评论 -
设计模式之装饰器模式、观察者模式
装饰器模式装饰器模式类似于一种特殊的适配器模式,两者非常相似,但是却有因为应用场景不同所以要区分清楚。适配器模式装饰器模式一般来说适配器类跟原来的逻辑类没有关联,两个类可以没有层级关系,也可以有。适配后旧逻辑调用可以通过组合或者继承的方式调用。模式上是特殊的适配器模式,装饰器需要实现与原来类的相同接口has-a\is-a关系都可以满足is-a关系着重于适配原...原创 2018-11-05 22:47:42 · 599 阅读 · 0 评论