• Java中的常见的设计模式总结


    目录

    1. 你所知道的设计模式有哪些

    2. 单例设计模式

    3. 工厂设计模式

    4. 建造者模式(Builder)

    5. 适配器设计模式

    6. 装饰模式

    7. 策略模式

    8. 观察者模式


    1. 你所知道的设计模式有哪些

    Java 中一般认为有 23 种设计模式,我们不需要所有的都会,但是其中常用的几种设计模式应该去掌握。下面列出了所有的设计模式。需要掌握的设计模式我单独列出来了,当然能掌握的越多越好。

    总体来说设计模式分为三大类:

    创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。

    结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式

    行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

    2. 单例设计模式

    最好理解的一种设计模式,分为懒汉式和饿汉式

    饿汉式:

    1. public class Singleton{  
    2. //直接创建对象  
    3. public static Singleton instance = newSingleton();  
    4. //私有化构造函数  
    5. private Singleton(){  
    6. }  
    7. //返回对象实例  
    8. public static Singleton getInstance(){  
    9.  return instance;  
    10. }  
    11. }

    懒汉式:

    1. public class Singleton{  
    2. //声明变量  
    3. private static volatile Singleton singleton = null;  
    4. //私有构造函数  
    5. private Singleton(){  
    6. }  
    7. //提供对外方法  
    8. public static Singleton getInstance(){  
    9.  if(singleton == null){  
    10.     synchronized(Singleton.class){  
    11.        id(singleton == null){  
    12.            singleton = new Singleton();  
    13. }  
    14. }  
    15. }  
    16. return singleton;  
    17. }  

    3. 工厂设计模式

    工厂模式分为工厂方法模式和抽象工厂模式。

    工厂方法模式

    工厂方法模式分为三种:

    普通工厂模式,就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。

    多个工厂方法模式,是对普通工厂方法模式的改进,在普通工厂方法模式中,如果传递的字符串出错,则不能正确创建对象,而多个工厂方法模式是提供多个工厂方法,分别创建对象。

    静态工厂方法模式,将上面的多个工厂方法模式里的方法置为静态的,不需要创建实例,直接调用即可。

    4. 建造者模式(Builder)

    工厂类模式提供的是创建单个类的模式,而建造者模式则是将各种产品集中起来进行管理,用来创建复合对象, 所谓复合对象就是指某个类具有不同的属性,其实建造者模式就是前面抽象工厂模式和最后的 Test 结合起来得到的。

    5. 适配器设计模式

    适配器模式将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹配所造成的类的兼容性问题。主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式。

    6. 装饰模式

    顾名思义,装饰模式就是给一个对象增加一些新的功能,而且是动态的,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例。

    7. 策略模式

    策略模式定义了一系列算法,并将每个算法封装起来,使他们可以相互替换,且算法的变化不会影响到使用算法的客户。需要设计一个接口,为一系列实现类提供统一的方法,多个实现类实现该接口,设计一个抽象类(可有可无, 属于辅助类),提供辅助函数。策略模式的决定权在用户,系统本身提供不同算法的实现,新增或者删除算法,对各种算法做封装。因此,策略模式多用在算法决策系统中,外部用户只需要决定用哪个算法即可。

    8. 观察者模式

    观察者模式很好理解,类似于邮件订阅和 RSS 订阅,当我们浏览一些博客或 wiki 时,经常会看到 RSS 图标,意思是,当你订阅了该文章,如果后续有更新,会及时通知你。其实,简单来讲就一句话:当一个对象变化时,其它依赖该对象的对象都会收到通知,并且随着变化!对象之间是一种一对多的关系。

  • 相关阅读:
    64位Office API声明语句第110讲
    Linux入门——文件查找与压缩
    Games101笔记-计算机图形学概述
    【推荐系统】推荐系统(RS)与大模型(LLM)的结合
    阿里云OSS图片存储
    rk3588 香橙派 vncserver连接 图形界面远程登陆
    【Python】Jupyter Notebook的安装与基本使用方法
    阿里云ACE认证的含金量高吗?如何通过ACE认证考试?
    兄弟机床联网
    软件设计模式系列之八——适配器模式
  • 原文地址:https://blog.csdn.net/xiejiachao/article/details/121477941