设计模式
文章平均质量分 90
包含常见的23种设计模式
以及不属于这23种之中,但是又经常见到的设计模式:简单工厂等。实现语言是java,用到UML中的类图。
你家宝宝
自2018年接触到Java,至今。
展开
-
SpringBoot 自定义注解实现操作日志记录
关于操作日志记录,在一个项目中是必要的。本文基于 java8 和 SpringBoot 2.7 来实现此功能。之前写过一个简单的接口报文日志打印的,和本文的起始思路相同,都是使用切面。但是本文功能更为强大,也更复杂。文章见本文附录《SpringBoot自定义starter之接口日志输出》。本文代码仓库:https://gitee.com/fengsoshuai/custom-log2.git其中 org.feng.clog 是核心代码区域。org.feng.test 是用于测试功能写的。原创 2024-02-28 14:55:31 · 599 阅读 · 0 评论 -
设计模式之委派模式
委派模式(Delegate Pattern)又叫委托模式,是一种面向对象的设计模式。它不属于23种设计模式之中,但同样也应用广泛。熟悉java类加载的人都知道,java有一个双亲委派模型。就是应用了这个委派模式的思想。(但这不是我写本文的原因!委派模式允许对象组合实现与继承相同的代码重用。它的基本作用就是负责任务的调用和分配任务,是一种特殊的静态处理代理,可以理解为全权代理。PS:写本文的原因在于,前几天看SpringMVC源码时遇到过。的作用就是调节,分派请求。最终使用来处理这些请求。原创 2024-02-19 17:14:21 · 1122 阅读 · 0 评论 -
设计模式之命令模式
命令模式(Command Pattern)是 23种设计模式之一,属于行为型设计模式。命令模式把一个请求或者操作封装到一个对象中。命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。命令模式将命令的请求者和命令的处理者分开来,命令的请求者也不清楚请求的命令由哪个对象来执行,也不知道具体实现的操作是怎么样的。命令模式可以将命令组合起来形成一个复杂的宏命令,这样可以通过一个命令来实现一系列化的操作。原创 2024-02-19 17:13:26 · 959 阅读 · 0 评论 -
装饰模式
文章目录装饰模式给类增加行为的两种方式1. 继承2. 关联模式定义模式的结构装饰模式之案例1装饰模式之案例2装饰模式之案例3装饰模式的总结优点缺点适用环境Java中的应用模式扩展透明模式和半透明模式透明模式半透明模式附录装饰模式装饰模式是一种用于替代继承的技术,它通过一种无须定义子类的方式给对象动态的增加职责,使用对象之间的关联关系取代类之间的继承关系。什么是类之间的关联关系?请查看我的另一篇博客:类图中关于类之间关系的介绍!在装饰模式中引入了装饰类,在装饰类中既可以调用被装饰类的方法,也可以定原创 2020-05-14 21:40:53 · 454 阅读 · 0 评论 -
适配器模式
文章目录适配器模式前言结构型设计模式适配器的定义适配器模式的结构适配器模式-类适配器案例适配器模式-对象适配器案例适配器模式-案例-仿生机器人模式应用适配器模式的总结优点缺点适用环境适配器的扩展默认适配器双向适配器附录适配器模式前言适配器模式是一种使用频率非常高的结构型设计模式。结构型设计模式:根据类的“单一职责原则”,一个软件系统中每一类都应该担负一定的职责,能够完成一定的业务功能,但...原创 2020-05-05 10:33:59 · 298 阅读 · 0 评论 -
单例模式
文章目录单例模式单例模式的定义Java中单例的体现单例模式-案例附录单例模式单例模式是结构最简单的设计模式,在它的核心结构中只包含一个被称为单例类的特殊类。单例模式是一种创建型模式。通过单例类可以保证系统中一个类只有一个实例而且该实例易于被外界访问(通常的实现是私有实例,私有构造,公开访问方法)。如果希望在系统中某个类的对象只能存在一个,那么单例模式就是最好的解决方案。单例模式的定义...原创 2020-05-05 00:56:33 · 214 阅读 · 0 评论 -
原型模式
原型模式原型模式也属于建造型模式,当需要创建大量相同或相似的对象时,可以通过对一个已有对象的复制获取更多对象。Java 中可以使用克隆实现。克隆又分为深克隆和浅克隆。在软件系统中,有些对象的创建过程较为复杂,而且有时候需要频繁创建,原型模式通过给出一个原型对象来指明所要创建的对象的类型,然后用复制这个原型对象的方法创建出更多同类型的对象,这就是原型模式的意图所在。定义用原型实例指定创...原创 2020-05-04 16:54:41 · 263 阅读 · 0 评论 -
建造者模式
文章目录建造者模式定义建造者的结构建造者模式-案例 1建造者模式-案例 2建造者模式-案例 3Java 代码总结建造者模式的优点建造者模式的缺点适用环境建造者模式的扩展1. 简化2. 建造者模式与抽象工厂模式的比较2. 建造者模式与抽象工厂模式的比较附录建造者模式建造者模式是最复杂的创建型模式,它将客户端与包含多个组成部分的复杂对象的创建过程分离,客户无需知道复杂对象的内部组成部分与装配方式,...原创 2020-04-29 14:32:25 · 578 阅读 · 0 评论 -
抽象工厂模式
文章目录抽象工厂模式定义抽象工厂的结构抽象工厂模式-案例 1抽象工厂模式总结优点缺点模式适用环境模式扩展模式的退化附录抽象工厂模式抽象工厂模式是常见的创建型设计模式之一。比工厂方法模式的抽象级别更高。在工厂方法模式中,每个工厂只需要生产一种具体的产品;在抽象工厂模式中,具体工厂可以生产相关的一组具体产品,这样的一组产品称之为产品族,产品族中的每一个产品都分属于某一个产品继承等级结构。...原创 2020-04-29 10:00:15 · 616 阅读 · 0 评论 -
工厂方法模式
文章目录工厂方法模式工厂方法模式的目的和定义工厂方法模式-案例 1工厂方法模式-案例 2总结工厂方法模式的优点工厂方法模式的缺点适用环境工厂方法模式在Java中的应用工厂方法的扩展附录工厂方法模式工厂方法模式是简单工厂模式的延伸,它继承了简单工厂模式的优点,同时还弥补了简单工厂模式的缺陷,更好地符合“开闭原则”。增加新的具体产品对象不需要对已有系统做任何修改。工厂方法模式引入了抽象的工厂类,...原创 2020-04-27 21:39:04 · 239 阅读 · 0 评论 -
简单工厂模式
文章目录简单工厂模式创建型模式创建型模式的举例简单工厂模式的目的与定义简单工厂模式-案例 1简单工厂模式-案例 2简单工厂模式-案例 3总结优点缺点适用环境附录简单工厂模式简单工厂模式不属于 GOF 23 种设计模式。它是最简单的设计模式之一,也是使用比较频繁的一个模式,同时属于创建型模式,它可以作为创建型模式的敲门砖。创建型模式所谓创建型模式就是将对象的创建和使用分离开来。外界只需...原创 2020-04-27 18:02:25 · 224 阅读 · 0 评论 -
设计模式简介
文章目录诞生与定义1、诞生2、定义模式的分类1、按照目的分类1.1 创建型1.2 结构型1.3 行为型2、根据范围分类2.1 类模式2.2 对象模式`GOF`设计模式的简介参考&致谢诞生与定义1、诞生设计模式起源于建筑领域,是对前人经验的总结,为后人设计与开发基于面向对象的软件提供指导方针和成熟的解决方案。借用 Alexander 的一句话:模式是在特定环境中解决问题的一种方案。...原创 2020-04-27 17:56:11 · 442 阅读 · 0 评论 -
优化if else
优化 if else参考:《阿里巴巴java编码规范》、《设计模式》(清华大学出版)、https://blog.csdn.net/mifffy_java/article/details/952012891、 阿里编程归约对于控制语句,阿里归约上推荐了一种思路。【推荐】在表达异常的分支时,尽量少用 if else 方式,这种方式可以改写成:if(condition){ ... ...原创 2020-01-04 13:42:06 · 2520 阅读 · 4 评论 -
单例设计模式简析(java语言实现)
单例设计模式 单例设计模式是指:该类只有一个实例,也就是说在整个程序的运行过程中,就只有一个它。原创 2018-08-04 15:48:03 · 311 阅读 · 0 评论 -
面向对象设计原则(七大原则)
原则的概述 面向对象设计原则是学习设计模式的基础,每一种设计模式都符合某一种或多种面向对象设计原则。 而这些原则是为了在支持可维护性的同时提高系统的可复用性,其中的可维护性的复用是一设计原则为基础的。 对于面向对象的软件系统设计来说,在支持可维护性的同时,提高系统的可复用性是一个核心问题,面向对象设计原则正是为解决这个问题而诞生的。七大原则1、单一职责原则(重要等级★★...原创 2018-05-08 15:00:04 · 481 阅读 · 0 评论 -
类图
本节主要内容类图 顺序图 状态图 类与类之间关系的含义、符号表示和代码实现以及顺序图和状态图的绘制 其中最重要的是类图,类图,类图!重要的事情说3遍好吧!UML简介UML的全拼是Unified Modeling Language ,表示的是统一建模语言。UML的结构1、视图:包括了用户视图、结构视图、行为视图、实现视图、环境视图2、图:包括了用例图、类图、对象图、包图...原创 2018-05-07 16:29:22 · 1186 阅读 · 0 评论