
设计模式
Luck_ZZ
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java设计模式-访问者模式
一、概述访问者模式(Visitor)是一种操作一组对象的操作,它的目的是不改变对象的定义,但允许新增不同的访问者,来定义新的操作。其主要目的是将数据结构与数据操作分离。二、角色抽象访问者(Visitor):为每种具体的被访问者(ConcreteElement)声明一个访问操作具体访问者(ConcreteVisitor):实现对被访问者(ConcreteElement)的具体访问操作抽象被访问者(Element):通常有一个Accept方法,用来接收/引用一个抽象访问者对象具体被访问者对象(Con原创 2020-12-12 14:54:03 · 216 阅读 · 1 评论 -
Java设计模式-代理模式
一、概述代理模式(Proxy):为一个对象提供一个替身,以控制对这个对象的访问,即通过代理对象访问目标对象,这样做的好处是,可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能代理模式有不同的形式,主要有三种:静态代理、动态代理(JDK代理、接口代理)、Cglib代理二、角色抽象角色:为真实对象和代理对象提供一个共同的接口,一般是抽象类或者接口代理角色:代理角色...原创 2020-02-09 17:51:19 · 246 阅读 · 0 评论 -
Java设计模式-享元模式
一、概述享元模式(Flyweigh),也叫蝇量模式:运行共享技术有效地支持大量细粒度的对象。针对系统中存在的大量重复对象,享元模式通过减少重复对象创建的数量,来减少内存占用和提高性能。享元模式的核心是:共享与分离,共享对象中不变的部分,分离对象中可变的部分。享元对象能做到共享的关键是区分内蕴状态和外蕴状态。所谓共享,即多个对象内部的状态应当是一样的,否则就谈不上共享。内蕴状态是存储在享...原创 2020-02-09 15:53:03 · 249 阅读 · 0 评论 -
Java设计模式-外观模式
一、概述外观模式(Facade),也叫过程模式,门面模式,属于结构型模式,外观模式为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。外观模式通过定义一个一致的接口,用于屏蔽内部子系统的细节,使得调用端只需跟这个接口发生调用,而无需关心这个子系统的内部细节。二、角色外观角色(Facade): 客户端通过操作外观角色从而达到控制子系统...原创 2020-02-02 13:35:31 · 255 阅读 · 0 评论 -
Java设计模式-组合模式
一、概述组合模式,又叫部分整体模式,属于结构型模式,它创建了对象组的属性结构,将对象组合成树状结构以表示“整体-部分”的层次关系。组合模式可以不提供父对象的管理方法,但是组合模式必须在合适的地方提供子对象的管理方法,例如:add(),remove()以及getChild()等。组合模式的实现根据所实现接口的区别分为安全式和透明式。二、角色抽象构件(Component):定义参加组合对象...原创 2020-02-02 09:18:05 · 315 阅读 · 0 评论 -
Java设计模式-装饰者模式
一、概述装饰者模式指的是在不必改变原来类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰者来包裹真实的对象。二、角色抽象构件(Component):是一个接口或者抽象类,就是定义最核心的对象,也就是最原始的对象具体构件(Concrete Component):是Component的实现,被装饰者抽象装饰(Decorator):一般是一个抽象...原创 2020-02-01 19:04:33 · 273 阅读 · 0 评论 -
Java设计模式-桥接模式
一、概述桥接模式是指:将实现与抽象放在两个不同的类层次中,使两个层次可以独立改变,是一种结构型设计模式。二、角色抽象化(Abstraction):抽象化给出的定义,并保存一个对实现化对象的引用,Abstraction充当桥接类修正抽象化(Refined Abstraction):扩展抽象化角色,改变和修正父类对抽象化的定义实现化(Implementor):这个角色给出实现化角色...原创 2020-01-29 13:18:07 · 231 阅读 · 0 评论 -
Java设计模式-适配器模式
一、概述又叫做包装器(Wrapper),属于结构性模式,将某个类的接口转换成客户端期望的另一个接口表示,主的目的是兼容性,让原本因接口不匹配不能一起工作的两个类可以协同工作。、主要分为三类:类适配器模式、对象适配器模式、接口适配器模式二、角色目标抽象类(Target):定义用户需要的相关接口适配者(Adaptee):要被适配的角色,定义类一系列的接口,实现用户需要的一些业务功能...原创 2020-01-29 10:11:07 · 453 阅读 · 0 评论 -
Java设计模式-建造者模式
一、概述建造者模式又叫生成器模式,是一种对象构建模式。目的将产品和产品建造过程解耦。二、角色产品:描述一个由一些列部件组成较为复杂的对象抽象建造者:描述具体建造者的公共接口,一般用来定义建造细节的方法,并不涉及具体的对象部件的创建具体建造者:描述具体建造者,并实现抽象建造者公共接口指挥者:调用具体建造者来创建对象(产品)的各个部分,并按照一定顺序(流程)来建造复杂对象三...原创 2020-01-28 09:16:00 · 222 阅读 · 0 评论 -
Java设计模式-原型模式
一、概述原型模式是指用原型实例指定创建对象的种类,并且通过拷贝这些原型,创建新的对象。原型模式是一种创建型的设计模式,分为深克隆和浅克隆。通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝他们自己来实施创建,即:对象.clone()二、角色抽象原型:它是声明克隆方法的接口,是所有具体原型类的公共父类,它可以是接口,抽象类甚至是一个具体的实现类具...原创 2020-01-27 20:37:01 · 224 阅读 · 0 评论 -
Java设计模式-工厂模式
一、简单工厂模式1.概述又叫做静态工厂方法模式,不属于23种GOF设计模式之一。是由一个工厂对象决定创建出哪一种产品类的实例。实质是由一个工厂类根据传入的参数,动态决定应该创建哪个产品类(这些产品类继承字一个父类或接口)的实例。作用:将“类实例化的操作”与“使用对象的操作”分开,让使用者不用知道具体参数就可以实例化出所需要的“产品”类,从而避免了在客户端代码中显式指定,实现了解耦。...原创 2020-01-27 10:12:06 · 223 阅读 · 0 评论 -
Java设计模式-单例模式
一、单例模式所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。二、单例模式的八种方法1.饿汉式(静态常量)// 1.饿汉式(静态变量)class Singleton1 { // 1) 构造器私有化 private Singleton1() { } // 2)...原创 2020-01-27 10:01:43 · 277 阅读 · 0 评论