首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java基础】23种设计模式介绍

「单例模式示例代码」 适配器模式 是一种结构型设计模式,它能使接口不兼容的对象能够互相合作 桥接模式 是一种结构型设计模式,可将一个大类或一系列紧密相关的类拆分为抽象和实现两个独立的层次结构,从而能在开发时分别使用...组合模式 是一种结构型设计模式,你可以使用它将对象组合成树状结构,并且能像使用独立对象一样使用他们 装饰者模式 是一种结构型设计模式,允许你通过将对象放入包含行为的特殊封装对象中来为原对象绑定新的行为...各个具体装饰者是可以相互叠加的,从而可以构成一个功能更强大的组件对象 「装饰者模式示例代码」 外观模式 是一种结构型设计模式,能为程序库、框架或其他复杂类提供一个简单的接口 享元模式 是一种结构型设计模式...(列表、栈、树等)的情况下遍历集合中的所有元素 中介者模式 是一种行为设计模式,能让你减少对象之间混乱无序的依赖关系,该模式会限制对象之间的直接交互,迫使它们通过一个中介对象进行合作 备忘录模式 是一种行为设计模式...模版方法模式 是一种行为设计模式,它在超类中定义一个算法框架,允许子类在不修改结构的情况下重写算法的特定步骤 访问者模式 一种行为型设计模式,能将操作与其所作用的对象隔离开 单例模式代码 //1.

32210

Java基础教程(19)-设计模式简述

设计模式,即Design Patterns,是指在软件设计中,被反复使用的一种代码设计经验。使用设计模式的目的是为了可重用代码,提高代码的可扩展性和可维护性。...设计模式把一些常用的设计思想提炼出一个个模式,然后给每个模式命名,这样在使用的时候更方便交流。...23个常用模式分为创建型模式、结构型模式和行为型模式三类 创建型模式关注点是如何创建对象,其核心思想是要把对象的创建和使用相分离,这样使得两者能相对独立地变换。...装饰器(Decorator)模式,是一种在运行期动态给某个对象的实例增加功能的方法 外观(Facade)模式是为了给客户端提供一个统一入口,并对外屏蔽内部子系统的调用细节 享元模式设计思想是尽量复用已创建的对象...代理模式 为其他对象提供一种代理以控制对这个对象的访问。 行为型模式主要涉及算法和对象间的职责分配。通过使用对象组合,行为型模式可以描述一组对象应该如何协作来完成一个整体任务。

16210
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    java设计模式之工厂模式设计模式

    工厂模式: 这里用百度百科的词条来解释: 工厂模式是我们最常用的实例化对象模式了,是用工厂方法代替new操作的一种模式。...著名的Jive论坛 ,就大量使用了工厂模式,工厂模式Java程序系统可以说是随处可见。因为工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成实例对象。...在我们java生态中,spring对工厂模式运用的可算是极致了,顶级类BeanFactory是bean的最顶级的工厂类... 在这里,我模拟一下工厂模式: 先说一下工厂模式需要的角色: 机器?...试想,天下的面条种类那么多,工厂模式是非常容易扩展的,实现思路即java的“多态” 这里,就已经实现了一个简单的工厂模式,即简单工厂模式 当你的宝马机器生产宝马的时候,这个时候只需要拓展Machine类即可...machine = new BMWMachine(); System.out.println(machine.create(new Object())); } 这就是java

    84940

    java设计模式(4)-原型设计模式

    这篇推文学习创建型模式最后一种-原型模式,该模式的思想是将一个对象作为原型,对其进行复制、克隆,产生一个和原对象类似的新对象,以便使用 首先需要了解对象深、浅复制的概念: 浅拷贝:将一个对象复制后,基本数据类型的变量都会重新创建...所有的Java类都继承至Object,而Object类提供了一个clone()方法,该方法可以将一个java对象复制一份,因此在java中可以直接使用clone()方法来复制一个对象。...异常 Java中任何实现了Cloneable接口的类都可以通过调用clone()方法来复制一份自身然后传给调用者。...如果系统要保存对象的状态,而对象的状态变化很小,或者对象本身占内存不大的时候,也可以使用原型模式配合备忘录模式来应用。...相反,如果对象的状态变化很大,或者对象占用的内存很大,那么采用状态模式会比原型模式更好。

    47650

    Java设计模式

    本文链接:https://blog.csdn.net/github_39655029/article/details/82736019 设计模式基础 设计模式主要基于的面向对象设计的原则:...结构模式:涉及类和对象组成,继承概念用于组成接口并定义方法组合对象以获得新功能; 行为模式:侧重于对象之间的通信; J2EE模式设计表示层,由Sun Java Center标识; 创造设计模式...,可直接访问而不需要实例化类对象; 原型模式 涉及实现一个原型接口,只创建当前对象的克隆; Builder模式 构造器逐步构建最终对象,此构造器独立于其他对象; 结构设计模式 适配器...:表示层代码可以是JSP,servlet或UI java代码; 业务代理:为客户端实体提供对业务服务方法的访问的单入口点类; 查找服务:负责获得相关业务的实施和提供业务的委托对象业务对性爱难过的访问;...NULL对象类,不提供此类的任何实现,且无需检查空值; MVC模式 模型:表示携带数据对象或JAVA POJO,若其数据改变也可以具有逻辑来更新控制器; 视图:表示模型包含的数据的可视化层; 控制器

    1K10

    java设计模式

    设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。...一、设计模式的分类 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。...3、依赖倒转原则(Dependence Inversion Principle) 这个是开闭原则的基础,具体内容:面向接口编程,依赖于抽象而不依赖于具体。...三、Java中具体的设计模式 1.简单工厂模式(Simple Factory) 根据提供给它的参数,返回的是几个可能产品中的一个类的实例。 ?...在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。

    980120

    Java 设计模式 工厂模式

    1.简单工厂模式(Simple Factory Pattern)            举个例子吧,我现在想要一个 iPhone 品牌 的手机 ,现有一个生产手机的的工厂,我们要告诉工厂,“我要一个iPhone...produceBlackBerry() { 16 return new BlackBerry(); 17 } 18 19 }              现在我们 在现有工厂的基础上...produceXPhone(){ 11 return new XPhone(); 12 } 13 14 }               这样,在不破坏以前代码结构的基础上...上面的描述便是 工厂方法模式(Factory Method Pattern)。              ...工厂方法模式 扩展性非常好,但是拓展性带来了一个新的问题,拓展性增加了我们系统里类的数量和规模,这使我们的系统异常庞大! 只要有新的生产要求提出,都会有新的方法添加。

    44530

    Java设计模式-代理模式

    作者:Jet啟思 链接:https://juejin.im/post/5a1e7ae16fb9a0451170e446 一、代理模式 定义 为其它对象提供一个代理对象,并由代理对象控制这个对象的访问。...代理模式UML图 这是代理模式的通用UML,涉及到的角色如下所示: - 抽象主题角色:定义了被代理角色和代理角色的共同接口或者抽象类。...- 代理角色:实现或者继承抽象主题角色,持有被代理角色的引用,控制和限制被代理角色的实现,并且拥有自己的处理方法(预处理和善后) 二、代理模式实战 首先是抽象主题角色: public interface...下面看代理模式的另一种实现方式,先看抽象主题角色代码: public interface Subject { public void movie(); // 指定代理 public...但是,无论是哪一种方式,代理模式的实现都是必须经过代理才能访问被代理模式。就比如明星拍电影,不会跳过经纪人直接找到明星,而是经过经纪人再到明星,要不然经纪人这个职位岂不是浪费了。

    95890

    JAVA设计模式-策略模式

    概念 策略模式:定义了算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户 ?...该模式涉及三个角色:   ● 环境(Context)角色:持有一个Strategy的引用。   ● 抽象策略(Strategy)角色:这是一个抽象角色,通常由一个接口或抽象类实现。...再一个栗子 在编程中,用户的密码保存到数据库前往往需要对密码加密,可以使用这个模式定义不同的加密算法,随机使用不同的算法加密。...System.out.println("伪SHA加密:" + user.getPassword()); } } 输出: 伪MD5加密:1234md5 伪SHA加密:1234sha 参考来源 java...设计模式--策略模式上文概念内容大部分来源于这文章 Head First 设计模式

    65120

    Java设计模式-组合模式

    Java设计模式-外观模式的组合模式它也来了哦,让我们一起来瞧一瞧吧!!! 会了就当复习丫,不会来一起来看看吧。 很喜欢一句话:“八小时内谋生活,八小时外谋发展”。...共勉 初入夏时 Java设计模式-组合模式 一、前言 1)引入: 2)概述: 3)角色: 4)使用场景: 二、代码实现 三、总结 优点 缺点 四、自言自语 一、前言 1)引入: 在现实生活中,...组合模式正是应树形结构而生,所以组合模式的使用场景就大都是是出现树形结构的地方。 比如:文件目录显示,多级目录呈现等树形结构数据的操作。...,你没看错,组合模式有两种。...透明组合模式也是组合模式的标准形式。

    58410

    Java设计模式-策略模式

    策略模式: 定义一系列的算法, 将其一个个封装起来, 并使它们可相互替换, 使得算法可独立于使用它的客户而变化....(图片来源: 设计模式: 可复用面向对象软件的基础) 策略模式对应于解决某一问题的一个算法族, 允许用户从该算法族中任选一个算法解决该问题, 同时可以方便的更换算法或者增加新的算法....模式实现 案例: 商场打折 -策略可以简单分为: 原价购买、满减、返利三种策略: Strategy 抽象策略: 定义算法族中所有算法的公共接口, Context使用这个接口来调用ConcreteStrategy...this.value = value; this.desc = desc; } } } 注: 将客户端需要选择具体Strategy的任务交给Context完成: 在基础策略模式中...相关模式 Flyweight: Strategy对象经常是很好的轻量级对象.

    91460

    Java设计模式-工厂模式

    说白了--就是工厂提供产品给客户(按照提供的方式不同分成三类:简单工厂、工厂、抽象工厂) 具体简介看下面: image.png 工厂模式是我们最常用的实例化对象模式了,是用工厂方法代替new操作的一种模式...著名的Jive论坛 ,就大量使用了工厂模式,工厂模式Java程序系统可以说是随处可见。...因为工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成实例对象,如A a=new A() 工厂模式也是用来创建实例对象的,所以以后new时就要多个心眼,可以考虑是否使用工厂模式,虽然这样做...工厂模式和抽象工厂模式 图解工厂模式和抽象工厂模式流程对比 工厂模式: image.png 抽象工厂模式: image.png 简单工厂模式(静态工厂方法) 含义:没有抽象工厂类,由工厂类自身提供产品...使用有限 从工厂模式的示例可以看出:工厂模式需要类实现它的接口并且在业务内部存在明显的继承关系,比如汽车和奔驰宝马的关系。

    52820
    领券