![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
一点一滴g
这个作者很懒,什么都没留下…
展开
-
Java设计模式之享元模式
什么是享元模式享元模式(Flyweight)就是把部分和整体的关系用树形结构来表示,从而使客户端能够把一个个的部分对象和有他们组合起来的整体对象采用同样的方式看待,他也是一个继承的替代,其实具体的说,享元模式就是用时间交换了空间。用程序的运行速度来读取是否重复的对象内容,然后不创建一个重复的对象来节省空间,于此同时就大大提高了程序的运行效率。亨元模式核心在于运用共享技术来有效地支持大量细粒度的对...原创 2019-04-09 14:20:39 · 95 阅读 · 0 评论 -
设计模式之观察者模式
什么是观察者模式观察者模式是对象的行为模式,又叫发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,使得当被观察者状态发生改变时,与之相依赖的所有观察者对象都能得到通知并自动更新。这个主题...原创 2019-08-05 11:23:49 · 78 阅读 · 0 评论 -
设计模式之外观模式(门面模式)(Facade)
门面模式(也叫外观模式,Facade Pattern)在许多源码中有使用,比如 slf4j 就可以理解为是门面模式的应用。这是一个简单的设计模式,只不过在Java中用的比较少,主要原因如下:Java开发者通常要求对库中的工具做整体的了解,外观模式可能会限制这种运用系统方式。Java类库提供的外观类很少。直接举一个栗子吧首先,我们定义一个接口:public interface Shap...原创 2019-07-31 12:58:25 · 134 阅读 · 0 评论 -
设计模式之桥接模式(Bridge模式)
桥接模式的定义与特点桥接(Bridge)模式的定义如下:将抽象与实现分离,使它们可以独立变化。它是用组合关系代替继承关系来实现,从而降低了抽象和实现这两个可变维度的耦合度。桥接(Bridge)模式的优点是:由于抽象与实现分离,所以扩展能力强;其实现细节对客户透明。缺点是:由于聚合关系建立在抽象层,要求开发者针对抽象化进行设计与编程,这增加了系统的理解与设计难度。桥接模式的结构与实现可...原创 2019-07-31 12:07:54 · 196 阅读 · 0 评论 -
设计模式之代理模式
代理模式代理模式是很常用的一种设计模式,主要目的是对客户端隐藏真实实现,由代理来负责客户端的所有请求。当然,代理只是个代理,它不会完成实际的业务逻辑,而是一层皮而已,但是对于客户端来说,它必须表现得就是客户端需要的真实实现。代理模式是对象的结构模式。代理模式为其他对象提供一种代理以控制对这个对象的访问。简单来说,在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目...转载 2019-07-30 17:10:21 · 99 阅读 · 0 评论 -
设计模式之访问者模式
何为访问者模式访问者模式的设计初衷是为了将稳定的数据结构和对数据结构的变化多端的操作解耦,可以让设计者针对同一套数据结构自由地设计操作集合。它包含访问者和被访问元素两个主要组成部分,这些被访问的元素通常具有不同的类型,且不同的访问者可以对它们进行不同的访问操作。例如:处方单中的各种药品信息就是被访问的元素,而划价人员和药房工作人员就是访问者。访问者模式可以使得用户在不修改现有系统的情况下扩展系统...原创 2019-05-05 22:42:24 · 422 阅读 · 0 评论 -
设计(模式)六大原则
一: 单一职责原则(Single Responsibility Principle)定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。遵循单一职责原的优点有:可以降低类的复杂度,一个类只负责一项职责,其逻辑肯定要比负责多项职责简单的多;提高类的可读性,提高系统的可维护性;变更引起的风险降低,变更是必然的,如果单一职责原则遵守的好,当修改一个功能时,可以显著降低对...原创 2019-04-24 13:36:56 · 136 阅读 · 0 评论 -
设计模式之装饰器模式
在我看来,装饰器模式是比较难说清楚的,希望读者能在本篇博客中有所收获。顾名思义,装饰器模式就是将某个类重新打扮一下,使得它在功能上比原来更强大,这就是它的主要目的。最重要的是要对被装饰类的使用者透明。先看一个简单的类图:从图中可以看到,接口 Component 其实已经有了 ConcreteComponentA 和 ConcreteComponentB 两个实现类了,但是,如果我们要增强这两...原创 2019-05-03 18:16:15 · 105 阅读 · 0 评论 -
设计模式之适配器模式
适配器模式:将一个类的接口转换成客户希望的另一个接口。适配器模式让那些接口不兼容的类可以一起工作结构适配器模式中通常包括三类角色:1:Target(目标接口):目标抽象类定义客户所需的接口,可以是一个抽象类或接口,也可以是具体类。在类适配器中,由于C#语言不支持多重继承,所以它只能是接口。2:Adapter(适配器):它可以调用另一个接口,作为一个转换器,对Adaptee和Target进行...原创 2019-05-03 17:53:32 · 110 阅读 · 0 评论 -
JDK中的设计模式
类间关系继承、委托、依赖、聚合、组合经典设计模式在JDK中的体现1.Singleton(单例)作用:保证类只有一个实例;提供一个全局访问点JDK中体现:(1)Runtime(2)NumberFormat类图:2.Factory(静态工厂)作用:(1)代替构造函数创建对象(2)方法名比构造函数清晰JDK中体现:(1)Integer.valueOf(2)Class.f...转载 2019-04-21 21:19:49 · 3367 阅读 · 0 评论 -
spring中的设计模式
spring中常用的设计模式有九种,如下所述:第一种:简单工厂又叫做静态工厂方法(StaticFactory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类。spring中的BeanFactory就是简单工厂模式的体现,根据传入一个唯一的标识来获得bean对象,但是否是在传入参数后创建还是传入参数前创建这个...转载 2019-04-21 21:29:03 · 73 阅读 · 0 评论 -
单例模式
(面试总是需要手写单例模式,不得已只能总结一下)什么是单例模式简而言之,单例模式就是确保一个类只有一个实例(也就是类的对象),并且提供一个全局的访问点(外部通过这个访问点来访问该类的唯一实例)。单例模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。注意点:单例类只能有一个实例。单例...原创 2019-04-18 22:01:33 · 112 阅读 · 0 评论 -
设计模式之策略模式
概述策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。策略模式的重心不是如何实现算法,而是如何组织、调用这些算法,从而让程序结构更灵活,具有更好的维护性和扩展性。策略模式的使用场景:(1)针对同一类型问题,有多种具体的处理方式时。 即多个类只区别在表现行为不同,在运行...转载 2019-08-06 15:38:41 · 76 阅读 · 0 评论