![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Volume 4 设计模式
文章平均质量分 87
dukeofyork
这个作者很懒,什么都没留下…
展开
-
Chapter 1 单例设计模式
1 概述 Java中单例设计模式是一种常见的设计模式,单例模式确保某个类在内存中只有一个实例。单例设计模式的应用在计算机系统中非常常见,例如,缓存、日志、线程池等都经常应用到该模式。在spring框架中,默认的bean的注入方式是单例式的,这样可以保证用户在引用bean的对象时不会重复的生成实例。 单例设计模式一般有以下特点:(1)单例类的内部会生成唯一的对象;(2)用户无法在类的外部原创 2016-12-06 00:10:32 · 319 阅读 · 0 评论 -
Chapter 10 策略模式
1 概述 策略(Strategy)模式和模板方法模式一样,是关于类的行为模式。其设计的初衷是针对一组算法,将其每一个都封装到具有共同接口的独立类中,使其可以互相替代,而不影响客户端的逻辑。策略模式提供了对OCP原则(开闭原则)的完美支持,使得用户可以在不修改原有系统的基础上选择算法(即策略),并且可以灵活的增加新的算法(策略)。 2 实现方式 2.1 重要概念 策略模式一般原创 2017-02-07 13:55:01 · 254 阅读 · 0 评论 -
Chapter 9 模板方法模式
1 概述 模板方法(Template Method)模式是关于类的行为模式。在一个抽象类中定义一个算法的骨架,其中一些步骤和逻辑已经实现,而将另外一部分步骤和逻辑推迟到子类中去实现。模板方法模式使得子类可以在不改变算法结果的情况下,重新定义算法中的某些步骤。模板方法模式让不同的子类可以用不同的方式实现抽象的方法,从而让算法有不同的实现。 2 实现方式 2.1 重要的概念 在原创 2017-02-06 16:16:19 · 283 阅读 · 0 评论 -
Chapter 7 适配器模式
1 概述 适配器(Adapter)模式把某个类的接口转换成客户端所需要的另外一个接口,从而使得因接口不匹配无法一起工作的类功能顺利的一起工作。和其它设计模式一样,适配器模式也是从现实生活中抽象出来的。以电器为例,电视机的插头一般都是三相的,即阴极,阳极及地极,而有些房间的电源插座却只有两相,没有地极。因此,电源插座和电视机插头直接不匹配造成电视机无法使用。这时候,如果有一个插排完成两项到三相原创 2017-01-15 16:09:41 · 290 阅读 · 0 评论 -
Chapter 6 装饰者模式
1 概述 装饰者(Decorator)模式是一种常见的设计模式,其旨在不改变原有类和不使用继承的情况下,动态地扩展一个类的功能。装饰者模式的实现方式是定义一个包装类(Wrapper)或者叫装饰类,该类维护一个被装饰类的引用。在调用功能函数时,装饰类除了调用被装饰类的方法外,还调用增强的功能,从而达到动态扩展类功能的作用。 2 实现方式 2.1 实现过程 装饰者模原创 2017-01-09 17:51:44 · 262 阅读 · 0 评论 -
Chapter 5 代理模式
1 概述 代理(Proxy)模式是一种常见的设计模式,其具体含义是给某一对象提供代理对象,代理对象和具体对象实现共同接口,并且代理对象中维护了具体对象的引用,外界对具体对象的操作需要通过代理对象调用具体对象的方法来实现。 代理模式的优点在于减小了客户端和具体对象间的耦合性并且满足了OCP(Open Close Priciple,开闭原则)。 代理模式在实际生活中的应用也是非常常见的,比原创 2017-01-08 22:26:24 · 253 阅读 · 0 评论 -
Chapter 4 原型模式
1 概述 原型(Prototype)模式是一种创建型设计模式,其允许通过一个对象创建另外一些可定制的对象,而无需知道任何如何创建的细节。当某个结构复杂的对象由于需求的变化经常面临剧烈的变化,其创建过程也经常需要变化,但是该对象应该对外暴露一个稳定的创建接口,在这种场景下就比较适用原型模式。 原型模式的主要实现方式是:将一个原型对象传递给调用创建接口的对象,该对象通过请求原型对象拷贝自身原创 2017-01-08 14:48:36 · 209 阅读 · 0 评论 -
Chapter 3 建造者模式
1 概述 建造者(Builder)设计模式的定义是这样的:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。建造者模式将复杂的内部创建过程封装起来,对于外部调用者来说,只需传入建造者和建造工具,对于内部如何形成成品的,调用方无需关心。 在现实的软件系统中,一个复杂的对象有时候是由各个部分的子对象构成的;由于需求的变化,这些组成部分经常面临着剧烈的变化,但是它们组合在原创 2016-12-19 20:59:36 · 252 阅读 · 0 评论 -
Chapter 2 工厂设计模式
1 概述 和单例设计模式一样,工厂设计模式也是属于创建型模式。其主要作用是抽象了对象被创建时的具体细节,对外暴露一个创建的方法,省去用户new一个对象的操作。乍一看,工厂设计模式只是抽象了一个new对象的操作。其实,实际项目中new一个对象的逻辑比较复杂,如果这个逻辑以后被修改了,那么之前new出来的所有对象的创建创建逻辑都会受到影响。那么将创建对象的过程统一到一些类工厂中(简单工厂模式只有原创 2016-12-18 23:27:37 · 265 阅读 · 0 评论 -
Chapter 0 设计模式的基础知识
1 概述 所谓设计模式(Design Pattern),是前人基于以往大量的实践总结出的一系列的解决问题的方法,这些方法应用得当可以极大的提高程序的复用性和扩展性。在实际的开发中,业务代码其实并不难写,但是要让写的代码易于扩展和复用往往不是一件易事,这就要求要对业务场景进行合理的抽象,应用合适的设计模式。有个形象的比喻,写代码就像做工艺品,设计模式就像用于做工艺品的模子,要做出漂亮的工艺品就原创 2016-12-12 23:57:59 · 357 阅读 · 0 评论 -
Chapter 8 观察者模式
1 概述 观察者(Observer)模式又名发布-订阅(Publish/Subscribe)模式,其主要描述的是对象间的一种一对多的依赖关系,当某个对象的状态发生改变时,所有依赖于它的对象都会得到通知并被自动更新相关状态。 在一个软件系统中,常常会要求某个对象的状态发生变化的时候,某些其它的对象要做出相应的改变。当然,做到这一点有很多的方式,为了使系统能易于复用,应选择低耦合度的方案。原创 2017-01-23 20:32:14 · 417 阅读 · 0 评论