24种Java常用设计模式基本原理导读
副标题[/!--empirenews.page--]
本篇文章时Java设计模式系列技术文章的开篇,作为导读文章,将快速地对设计模式的基本概念、模式分类和适用范围进行解读。在后续的章节中,将对每一种类别的设计模式进行详细的讲解,讲解的内容包括每种设计模式的基本原理、适用范围和实战案例剖析三个部分。 1 模式的基本概念 模式是指解决某个特定领域问题,实现既定目标的方法或思想。具体来说,模式是那些身处于某个行业的从业人员根据实际的工作经验总结出的,具有通用性的且被行业公认的解决问题的方法或流程。模式并非只在软件工程中被应用,其在日常的生产活动中被广泛地使用,如制造业,餐饮业,建筑设计、医疗卫生、教育培训以及软件工程等都有模式的身影。 2 什么是设计模式? 首先,设计模式是一种模式。在软件工程中,设计模式是一种通用的、可重复使用的用于解决既定范围内普遍发生的重复性问题的软件设计方法。使用成熟可靠的设计模式,可以提高代码复用性,节省开发时间,从而实现功能更强大、高度可维护的代码。这有助于降低软件产品的总体拥有成本,即TCO(Total Cost of Ownership)。另一方面,由于采用了统一的标准设计方法(思想或理论知识),可以显著提升开发团队的生产效率和协作能力。 3 Java设计模式的分类 在Java编程语言中,常用的设计模式可分为三种类型:
![]() 图3-1 设计模式分类 3.1 建造类设计模式 建造类共包括五(5)种基本设计模式:单例模式,工厂模式,抽象工厂模式,建造器模式和原型模式,如图3-2所示: ![]() 图3-2 建造类设计模式 3.2 结构类设计模式 结构类共包括八(8)种基本设计模式:适配器模式,组合模式,代理模式,享元模式,过滤器模式,桥接模式,修饰模式和外观模式,如图3-3所示: ![]() 图3-3 结构类设计模式 3.3 行为类设计模式 行为类共包括十一(11)种基本设计模式:模板方法模式,解释器模式,责任链模式,观察者模式,战略模式,命令模式,状态模式,访客模式,转义模式,迭代器模式和备忘录模式,如图3-4所示: ![]() 图3-4 行为类设计模式 设计模式不仅仅只有上述描述的这三大类,除此之外还有许多的设计模式。现已知的设计模式还有100多种,如DAO模式,依赖注入模式和MVC模式等。 4 快速理解设计模式 在接下来的内容中,将快速对Java中常见的24中设计模式的基本概念进行梳理,以求对各种设计模式的原理和适用范围有一个大致的认识。 4.1 建造类 建造类设计模式提供了对创建对象的基本定义和约束条件,以寻求最佳的实例化Java对象解决方案。 4.1.1 单例模式-Singleton 单例模式限制类的实例化过程,以确保在Java虚拟机(JVM)中有且只有一个类的实例化对象。单例模式是Java中最常用,也是最简单的设计模式之一。单例模式通常需具备如下的几个特征:
单例模式的Java类的内部结构如图4-1所示: ![]() 图4-1 单例模式类图 下面是单例模式的一份示例代码清单: ![]() 4.1.2 工厂模式-Factory 在Java程序设计过程中,当一个超类(super class)具有多个子类(sub class),且需要频繁的创建子类对象时,我们可以采用工厂模式。工厂模式的作用是将子类的实例化工作统一交由工厂类来完成,通过对输入参数的判断,工厂类自动实例化具体的子类。实现工厂模式需要满足三个条件:
图4-2为Java工厂模式的类图: ![]() 图4-2 工厂模式UML类图 下面是工厂模式的一份示例代码清单: ![]() 4.1.3 抽象工厂模式-Abstract Factory (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |