
设计模式
文章平均质量分 85
设计模式
小道仙97
一个不务正业的程序员,梦想成为家庭煮夫。【五十岁退休】
展开
-
基于MyBatis二级缓存深入装饰器模式
装饰器模式是一种能够在不改变原对象代码的情况下,动态地为对象添加新功能的设计模式。通过将对象包装在装饰器类中,可以透明地、在运行时选择性地、以任意顺序地应用这些功能。最终效果是通过组合不同的装饰器,扩展原对象功能,使系统更灵活可扩展。原创 2023-12-10 18:36:00 · 344 阅读 · 0 评论 -
外观模式【结构型模式】
文章优先发表在个人博客,后续如果更新忘记同步抱歉。个人博客本篇文章地址:https://www.xdx97.com/article/707951089365811200一、引出外观模式比如我们要弄一个电影院,里面有幕布、投影仪、折叠椅等。开始:放下幕布、打开投影仪、打开折叠椅中间:开始播放结束:关闭幕布、关闭投影仪、关闭折叠椅设计这个系统1、我们可以把幕布、投影仪、折叠椅,...原创 2020-05-07 14:45:38 · 356 阅读 · 0 评论 -
组合模式【结构型模式】
一、引入组合模式设计一个大学>学院>专业的结构代码,可以做到输出大学、学院、专业的信息。一个大学里面有多个学院一个学院里面有多个专业思路我们很容易就想到这种组合的方式,去设计我们的代码。完全没有问题,可以很好的去实现我们的功能。但是后面如果变动的时候就麻烦了。 假如我们要让大学直接去使用专业呢?二、组合模式组合模式(Composite Pattern) 将对...原创 2020-05-04 16:22:01 · 407 阅读 · 0 评论 -
装饰者模式【结构型模式】
文章优先发表在个人博客:https://www.xdx97.com/article/706183532841533440一、引入装饰者模式我们现在有一个卖咖啡的需求。我们有咖啡,我们也有配料(巧克力、牛奶…)。现在我们要设计一个程序计算用户这杯咖啡的价格。(咖啡 + 配料)1-1:思路一:排列组合我们把每种组合都列举出来。比如:咖啡+巧克力、咖啡+双份巧克力、咖啡+牛奶 …这样的...原创 2020-05-03 10:04:07 · 276 阅读 · 0 评论 -
桥接模式【结构型模式】
文章优先发表在个人博客:https://www.xdx97.com/article/7057313399780147201、引出桥接模式我们有一个手机产品,手机下面有多个类型(直板、翻盖),每个手机有多个生产商(小米、华为)。我们可以按照下图的思路去构建出来我们的代码总结如果我们新增一个翻盖类型手机,那么我们就会新增三个类。(翻盖、小米、华为)如果我们再新增一个一加手机,那...原创 2020-05-03 09:58:08 · 418 阅读 · 0 评论 -
适配器模式【结构型模式】
一、引出适配器模式概念我们要给手机充电,但是我们知道家用电是220v,而我们的手机一般是5v,如果我们直接使用那显然是不行的。这时候我们就需要一个转换器,也就是我们的充电器。它在内部把220v转换成5v。 我们的适配器也是同理,当我们需要使用某个类但是不能直接使用,这个时候就需要适配器来进行一下转换。二、适配器一个适配器包含了三种角色:资源对象(src)适配器(adapter)...原创 2020-04-29 16:56:40 · 205 阅读 · 0 评论 -
建造者模式【创建型模式】
文章优先发表在个人博客: https://www.xdx97.com/article/7043505091877273601、引出建造者模式根据说明写出代码我们需要建造房子,房子的种类有多种,这里只要求两种:平房、高楼。建房的过程两个,打地基、盖房。(真实的房子种类和建造过程及其复杂,这里简化两种即可)Houseimport lombok.Data;@Datapubli...原创 2020-04-27 20:24:00 · 249 阅读 · 0 评论 -
原型模式【创建型模式】
文章首发个人博客:https://www.xdx97.com/article/703593125049794560一、引出原型模式如果我们有一个类(sheep),它里面有两个属性,名称(name),年龄(age)。现在我们有一个它的实例(s1),我们需要按照这个实例的属性再去创建两个对象。1、Sheep@Datapublic class Sheep { private...原创 2020-04-25 15:36:07 · 276 阅读 · 0 评论 -
工厂模式【创建型模式】
一、引入工厂模式假如我们有一个手机接口里面有一个打电话方法(call),它有两个实现类小米手机和华为手机。我们现在要去调用这两个实现类的call方法。1-1:根据上面的说明写出代码1-1-1: Phonepublic interface Phone { void call();}1-1-2:XiaoMiPhonepublic class XiaoMiPhone impl...原创 2020-04-21 23:06:55 · 501 阅读 · 0 评论 -
单例模式【创建型模式】
文章优先发布在个人博客。 https://www.xdx97.com/article/699258099130695680所谓单例模式,就是对某个类只能存在一个对象实例,并且该类只提供一个获取其对象实例的方法(静态方法)单例模式一共有八种方式1、饿汉式 (静态常量)2、饿汉式 (静态代码块)3、懒汉式 (静态方法内部判断,线程不安全)4、懒汉式 (线程安全,同步方法)5、懒汉...原创 2020-04-13 17:38:42 · 306 阅读 · 0 评论