首页 > 编程语言 >java中23种设计模式

java中23种设计模式

时间:2022-08-18 23:55:54浏览次数:92  
标签:封装 23 对象 模式 一个 实例 java 设计模式

一、设计模式分类

1.设计模式分类

 

 2.设计模式特点

单例模式:某个类只能有一个实例,提供一个全局的访问点。

简单工厂:一个工厂类根据传入的参量决定创建出那一种产品类的实例。

工厂方法:定义一个创建对象的接口,让子类决定实例化那个类。

抽象工厂:创建相关或依赖对象的家族,而无需明确指定具体类。

建造者模式:封装一个复杂对象的构建过程,并可以按步骤构造。

原型模式:通过复制现有的实例来创建新的实例。

适配器模式:将一个类的方法接口转换成客户希望的另外一个接口。

组合模式:将对象组合成树形结构以表示“”部分-整体“”的层次结构。

装饰模式:动态的给对象添加新的功能。

代理模式:为其他对象提供一个代理以便控制这个对象的访问。

亨元(蝇量)模式:通过共享技术来有效的支持大量细粒度的对象。

外观模式:对外提供一个统一的方法,来访问子系统中的一群接口。

桥接模式:将抽象部分和它的实现部分分离,使它们都可以独立的变化。

模板模式:定义一个算法结构,而将一些步骤延迟到子类实现。

解释器模式:给定一个语言,定义它的文法的一种表示,并定义一个解释器。

策略模式:定义一系列算法,把他们封装起来,并且使它们可以相互替换。

状态模式:允许一个对象在其对象内部状态改变时改变它的行为。

观察者模式:对象间的一对多的依赖关系。

备忘录模式:在不破坏封装的前提下,保持对象的内部状态。

中介者模式:用一个中介对象来封装一系列的对象交互。

命令模式:将命令请求封装为一个对象,使得可以用不同的请求来进行参数化。

访问者模式:在不改变数据结构的前提下,增加作用于一组对象元素的新功能。

责任链模式:将请求的发送者和接收者解耦,使的多个对象都有处理这个请求的机会。

迭代器模式:一种遍历访问聚合对象中各个元素的方法,不暴露该对象的内部结构。

二、常用设计模式

 

 

 

三、总结

  1.设计模式在实际开发中的运用

  

 

 参考:1.JAVA的23种设计模式

 

标签:封装,23,对象,模式,一个,实例,java,设计模式
From: https://www.cnblogs.com/wenxiangchen/p/16600586.html

相关文章

  • Java 可重入锁的那些事(一)
    本文主要包含的内容:可重入锁(ReedtrantLock)、公平锁、非公平锁、可重入性、同步队列、CAS等概念的理解显式锁......
  • 23届秋招美团内推推推!开始啦!!
    自我介绍本人为20届应届生,在19年秋招期间,拿到了网易、小米、美团等企业的Offer,最后和美团双向奔赴,在美团工作的这两年,可以说是收获满满,推荐大家来到美团这个温暖的......
  • javascript 数据类型
    值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、未定义(Undefined)、Symbol(ES6引入了一种新的原始数据类型,表示独一无二的值)。特殊的值:未定义(Undefined)引......
  • java邮件发送
    java邮件发送一、JavaMail介绍1、概述JavaMail是利用现有的邮件账户发送邮件的工具,比如我在网易注册一个邮箱账户,通过JavaMail的操控,我可以不亲自登录网易邮箱,让程序自......
  • SpringBoot之发送邮件(手把手教你通过Java发送邮件)
    SpringBoot之发送邮件(手把手教你通过Java发送邮件)前言我们都知道,在使用一个新的APP时经常需要我们注册,注册时需要我们输入手机号然后接受验证码,当然还有一类是需要......
  • Java内存分析相关工具
    1、jps工具jps(JavaVirtualMachineProcessStatusTool)是JDK提供的一个可以列出正在运行的Java虚拟机的进程信息的命令行工具,它可以显示Java虚拟机进程的执行主类(Ma......
  • JAVA实现邮件发送
    JAVA实现邮件发送一、邮件服务器与传输协议要在网络上实现邮件功能,必须要有专门的邮件服务器。这些邮件服务器类似于现实生活中的邮局,它主要负责接收用户投递过来的邮件......
  • JavaSE:第十七章:编程测试题
    练习:求1+2!+3!+…+20!的和longsum=0;for(inti=1;i<=20;i++){longtemp=1;for(intj=1;j<=i;j++){temp*=j;}sum+=......
  • 【Azure Redis 缓存】Redisson 连接 Azure Redis出现间歇性 java.net.UnknownHostExce
    问题描述在Java项目中,使用Redisson作为连接Redis的客户端,间歇性的出现了DNSMonitorthrowable错误。DNSMonitorthrowable="java.net.UnknownHostException:failedto......
  • KeyCode对照表 空格 回车 F1234567890 等键代码
    keycode8=BackSpace回格keycode9=Tabkeycode12=Clearkeycode13=Enter回车keycode16=Shift_Lkeycode17=Control_Lkeycode18=......