加入收藏 | 设为首页 | 会员中心 | 我要投稿 莆田站长网 (https://www.0594zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 移动互联 > 评测 > 正文

24种Java常用设计模式基本原理导读

发布时间:2019-07-16 13:10:24 所属栏目:评测 来源:佚名
导读:副标题#e# 本篇文章时Java设计模式系列技术文章的开篇,作为导读文章,将快速地对设计模式的基本概念、模式分类和适用范围进行解读。在后续的章节中,将对每一种类别的设计模式进行详细的讲解,讲解的内容包括每种设计模式的基本原理、适用范围和实战案例剖
副标题[/!--empirenews.page--]

 本篇文章时Java设计模式系列技术文章的开篇,作为导读文章,将快速地对设计模式的基本概念、模式分类和适用范围进行解读。在后续的章节中,将对每一种类别的设计模式进行详细的讲解,讲解的内容包括每种设计模式的基本原理、适用范围和实战案例剖析三个部分。

24种Java常用设计模式基本原理导读

1 模式的基本概念

​ 模式是指解决某个特定领域问题,实现既定目标的方法或思想。具体来说,模式是那些身处于某个行业的从业人员根据实际的工作经验总结出的,具有通用性的且被行业公认的解决问题的方法或流程。模式并非只在软件工程中被应用,其在日常的生产活动中被广泛地使用,如制造业,餐饮业,建筑设计、医疗卫生、教育培训以及软件工程等都有模式的身影。

2 什么是设计模式?

​ 首先,设计模式是一种模式。在软件工程中,设计模式是一种通用的、可重复使用的用于解决既定范围内普遍发生的重复性问题的软件设计方法。使用成熟可靠的设计模式,可以提高代码复用性,节省开发时间,从而实现功能更强大、高度可维护的代码。这有助于降低软件产品的总体拥有成本,即TCO(Total Cost of Ownership)。另一方面,由于采用了统一的标准设计方法(思想或理论知识),可以显著提升开发团队的生产效率和协作能力。

3 Java设计模式的分类

​ 在Java编程语言中,常用的设计模式可分为三种类型:

  • 建造类设计模式:主要用于定义和约束如何创建一个新的对象
  • 结构类设计模式:主要用于定义如何使用多个对象组合出一个或多个复合对象
  • 行为类设计模式:主要用于定义和描述对象之间的交互规则和限定对象的职责边界线
24种Java常用设计模式基本原理导读

图3-1 设计模式分类

3.1 建造类设计模式

​ 建造类共包括五(5)种基本设计模式:单例模式,工厂模式,抽象工厂模式,建造器模式和原型模式,如图3-2所示:

24种Java常用设计模式基本原理导读

图3-2 建造类设计模式

3.2 结构类设计模式

​ 结构类共包括八(8)种基本设计模式:适配器模式,组合模式,代理模式,享元模式,过滤器模式,桥接模式,修饰模式和外观模式,如图3-3所示:

24种Java常用设计模式基本原理导读

图3-3 结构类设计模式

3.3 行为类设计模式

​ 行为类共包括十一(11)种基本设计模式:模板方法模式,解释器模式,责任链模式,观察者模式,战略模式,命令模式,状态模式,访客模式,转义模式,迭代器模式和备忘录模式,如图3-4所示:

24种Java常用设计模式基本原理导读

图3-4 行为类设计模式

​ 设计模式不仅仅只有上述描述的这三大类,除此之外还有许多的设计模式。现已知的设计模式还有100多种,如DAO模式,依赖注入模式和MVC模式等。

4 快速理解设计模式

​ 在接下来的内容中,将快速对Java中常见的24中设计模式的基本概念进行梳理,以求对各种设计模式的原理和适用范围有一个大致的认识。

4.1 建造类

​ 建造类设计模式提供了对创建对象的基本定义和约束条件,以寻求最佳的实例化Java对象解决方案。

4.1.1 单例模式-Singleton

​ 单例模式限制类的实例化过程,以确保在Java虚拟机(JVM)中有且只有一个类的实例化对象。单例模式是Java中最常用,也是最简单的设计模式之一。单例模式通常需具备如下的几个特征:

  • 单例模式限制类的实例化,且Java虚拟机中只能存在一个该类的示例化对象
  • 单例模式必须提供一个全局可用的访问入口来获取该类的实例化对象
  • 单例模式常被用于日志记录,驱动程序对象设计,缓存以及线程池
  • 单例模式也会被用于其他的设计模式当中,如抽象工厂模式,建造者模式,原型模式等

单例模式的Java类的内部结构如图4-1所示:

24种Java常用设计模式基本原理导读

图4-1 单例模式类图

下面是单例模式的一份示例代码清单:

24种Java常用设计模式基本原理导读

4.1.2 工厂模式-Factory

​ 在Java程序设计过程中,当一个超类(super class)具有多个子类(sub class),且需要频繁的创建子类对象时,我们可以采用工厂模式。工厂模式的作用是将子类的实例化工作统一交由工厂类来完成,通过对输入参数的判断,工厂类自动实例化具体的子类。实现工厂模式需要满足三个条件:

  • 超类(super class):超类是一个抽象类
  • 子类(sub class): 子类需继承超类
  • 工厂类(factory class):工厂类根据输入参数实例化子类

图4-2为Java工厂模式的类图:

24种Java常用设计模式基本原理导读

图4-2 工厂模式UML类图

下面是工厂模式的一份示例代码清单:

24种Java常用设计模式基本原理导读

4.1.3 抽象工厂模式-Abstract Factory

(编辑:莆田站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读