![](https://img-blog.csdnimg.cn/20190829095539148.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
设计模式
文章平均质量分 93
扛麻袋的少年
得过且过,一天又一天
展开
-
Java设计模式-----工厂方法模式(Factory Pattern)
工厂模式:主要关注的是结果,不关注过程。相比,代理模式关注的是过程,不关注结果。 工厂方法模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂方法模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。 所谓工厂方法...原创 2019-04-25 18:20:44 · 1535 阅读 · 0 评论 -
2.Java设计模式-----抽象工厂模式(Abstract Factory Pattern)
抽象工厂模式(Abstract Factory),是23种设计模式之一。抽象工厂模式是这样子定义的:抽象工厂模式,提供一个创建一系列相关或互相依赖对象的接口,而无需指定它们具体的类。 在学习抽象工厂模式之前,最好熟悉简单工厂模式以及工厂方法模式,这样对理解抽象工厂模式会有一定帮助,而且抽象工厂模式是基于工厂方法模式而来的。如果你还没有了解到什么是简单工厂模式以及工厂方法模式...原创 2019-04-27 14:12:00 · 1347 阅读 · 0 评论 -
3.Java设计模式-----单例模式(Singleton Pattern)
单例模式(Singleton Pattern)是23种设计模式中,最简单的形式之一。这一模式的目的是使得类的一个对象成为系统中的唯一实例。通过单例模式可以保证系统中,应用该模式的一个类只有一个实例。即一个类只有一个对象实例。 Java中单例模式的定义:一个类有且仅有一个实例,并且自行实例化向整个系统提供。单例模式的特点: 1.单例类只能有一个实例。...原创 2019-04-27 17:29:21 · 1361 阅读 · 0 评论 -
Java设计模式-----代理模式(Proxy Pattern)
1.什么是代理模式? 代理模式(Proxy Pattern),是23种设计模式之一,它关心的主要是过程,而不是结果。代理模式主要提供了对目标对象的间接访问方式,即通过代理对象来访问目标对象。2.为什么要使用代理模式? ①通过代理对象来访问目标对象,便于在目标实现的基础上增加额外的功能操作,前拦截,后拦截等,以满足自身的业务需求; ②同时代理模式...原创 2019-05-27 18:07:45 · 1297 阅读 · 0 评论 -
Java设计模式-----JDK静态代理(Static Proxy)
接上文:4.Java设计模式-----代理模式(Proxy Pattern)应用场景: 因为房租合同到期,小明现在急需要重新寻找房源,但是苦于学业的原因,而没时间来解决找房这件事情,所以它只能将这事情交给中介公司来帮自己解决这件事情。静态代理 静态代理的实现比较简单,代理类通过实现与目标对象相同的接口,并在类中维护一个代理对象。通过构造器塞入目标对象,赋值...原创 2019-05-27 18:16:02 · 1404 阅读 · 0 评论 -
Java设计模式-----JDK动态代理(Dynamic Proxy)
接上文:4.1Java设计模式-----JDK静态代理(Static Proxy)JDK动态代理 JDK动态代理是指动态的在内存中构建代理对象(需要我们制定要代理的目标对象实现的接口类型),即利用JDK的API生成指定接口的对象,也称之为JDK代理或者接口代理。 动态代理代码部分,下面将做进一步分析。用到的Person接口和Student被代理类保持不变。...原创 2019-05-28 09:04:18 · 1791 阅读 · 0 评论 -
Java设计模式-----Cglib动态代理(Cglib Proxy)
接上文:4.2Java设计模式-----JDK动态代理(DynamicProxy)Cglib动态代理 百度百科:Cglib是一个强大的,高性能,高质量的Code生成类库,它可以在运行期扩展Java类与实现Java接口。 Cglib动态代理,是JDK静态代理,JDK动态代理之后的另一种代理方式。通过名称我们可以发现,JDK静态代理和JDK动态代理都是由Jav...原创 2019-05-31 00:10:34 · 1690 阅读 · 0 评论 -
5.Java设计模式-----委派模式(Delegate Pattern)
什么是委派模式? 委派模式,并不属于23种经典的设计模式。但是在Spring框架源码中,它有多次体现。在委托模式中,有两个对象参与处理同一个请求,接受请求的对象将请求委托给另一个对象来处理。字面理解委派模式 项目组,包括:项目经理A、程序员B和程序员C。目前甲方有个项目,需要完成一个xxx任务。首先甲方会直接找到项目经理A去谈这个项目,而不是直接找B和C。项目经...原创 2019-06-12 20:20:04 · 1994 阅读 · 3 评论 -
6.Java设计模式-----策略模式(Strategy Pattern)
什么是策略模式 策略模式作为一种软件设计模式,指对象有某个行为,但是在不同的场景中,该行为有不同的实现算法。比如每个人都要“交个人所得税”,但是“在美国交个人所得税”和“在中国交个人所得税”就有不同的算税方法。 ----来自:百度百科 策略模式,有两个不变:起点和终点不变,中途具体实现方式可以随机,只要从起点到了终点即可。 即:过程不同,结果相同...原创 2019-06-12 22:24:09 · 1560 阅读 · 0 评论 -
7.Java设计模式-----原型模式(Prototype Pattern)
什么是原型模式? 原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。例如,一个对象需要在一个高代价的数据库操作之后被创建。我们可以缓存该对象,在下一个请求时返...原创 2019-06-14 16:53:29 · 1400 阅读 · 0 评论 -
8.Java设计模式-----模板模式(Template Pattern)
模版模式的定义? 定义一个操作中的算法骨架,而将算法的一些步骤延迟到子类中实现,使得子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤。它是一种类行为型模式,模版模式又名模版方法模式。 通俗一点讲:在现实生活中,我们把规定了流程或者格式的实例定义为模版,允许使用者在使用的时候,根据自己个人的需求来去更新它。具体实例如下↓ ↓ ↓结合现实情况了解模板模式...原创 2019-06-19 14:57:43 · 1711 阅读 · 0 评论 -
9.Java设计模式-----责任链模式(Chain of Responsibility Pattern)
责任链模式的由来 在现实生活中,常常会出现这样的事例:一个请求有多个对象可以处理,但每个对象的处理条件或权限不同。例如,公司员工请假,可批假的领导有部门负责人、副总经理、总经理等,但每个领导能批准的天数不同,员工必须根据自己要请假的天数去找不同的领导签名,也就是说员工必须记住每个领导的姓名、电话和地址等信息,这增加了难度。这样的例子还有很多很多。什么是责任链模式...转载 2019-12-10 18:04:14 · 1749 阅读 · 0 评论