- 博客(25)
- 收藏
- 关注
原创 备忘录模式学习
定义保存一个对象的某个状态,以便在适当的时候恢复对象类似后悔药类型行为型使用场景保存及恢复数据相关业务场景后悔的时候,即想恢复到之前的状态优点为用户提供一种可恢复机制存档消息的封装缺点资源占用备忘录模式-相关设计模式备忘录模式和状态模式源码体现StateManageableMessageContext类的createMessagesMementoStateManageableMessageContext类的restoreMessages
2024-01-29 10:12:43
193
原创 解释器模式学习
定义给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。为了解释一种语言,而为语言创建的解释器类型行为型使用场景某个特定类型问题发生频率足够高优点语法由很多类表示,容易改变及拓展此语言缺点当语法规则数目太多时,增加了系统复杂度解释器模式-相关设计模式解释器模式和适配器模式源码体现Pattern类TemplateAwareExpressionParser
2024-01-26 16:47:15
166
原创 外观模式学习
JdbcUtils类的closeConnection(Connection conn)方法Configuration(ibatis)的newMataObject方法RequestFacade类的getParameter。
2023-12-29 11:13:36
305
原创 原型模式学习
深克隆不仅将原对象的各个属性逐个复制出去,而且将原对象各个属性所包含的对象也依次采用深复制的方法递归复制到新对象上。这意味着,如果一个对象的属性值发生改变,另一个对象的相应属性值不会发生改变,因为它们是独立的副本。浅克隆是浅复制,它只复制对象的一层属性。这意味着,如果原对象的属性值发生改变,克隆后的对象的相应属性值也会发生改变,因为它们实际上引用的是同一个对象。总的来说,深克隆和浅克隆的主要区别在于它们如何处理对象的属性:浅克隆只复制对象的顶层属性,而深克隆则递归地复制对象的所有属性和嵌套对象。
2023-12-29 10:49:48
338
原创 建造者模式学习
1.将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示2.用户只需要指定需要建造的类型就可以得到他们,建造过程和细节不需要知道。
2023-12-28 15:17:15
184
原创 抽象工厂模式学习
1.工厂方法模式针对的就是产品等级结构,而抽象方法模式针对的就是产品族。我们只要在美的产品族里面取空调,取出来的肯定是美的的空调,我们在美的的产品族里面取冰箱,取出来的肯定也是美的的电冰箱,只要我们确定这个产品的产品族和产品等级结构,我们就可以唯一的确定这个产品:2.从理论上来说:当一个工厂可以创建出分属于不同产品等级结构的一个产品族中的所有对象时,那这个时候,抽象工厂模式要比工厂方法模式要更为简单,更有效率;
2023-12-28 14:51:54
237
原创 工厂方法模式学习
Java视频和Python视频都是同一个产品等级,都是视频 这里要理解一个概念:相同类型的一个产品,我们称之为产品等级,他们的等级都是在视频的这个等级上;产品等级和产品族是区分工厂方法和抽象方法的重要概念;这里引出产品族的概念:例如说,视频就是教程,但是后续网站规定你有了视频之后,还要有对应的手记,这两个打包在一起,在可以称之为教程,那对于Python,Java或者是FE来说:Java的视频,Java的手记,他们都属于Java,他们属于同一产品族,
2023-12-28 11:41:57
360
原创 Spring 中 ApplicationContext 和 BeanFactory 的区别
基本上牵涉到事件(Event)方面的设计,就离不开观察者模式,ApplicationContext 的事件机制主要通过 ApplicationEvent 和 ApplicationListener 这两个接口来提供的,和 Java swing 中的事件机制一样。即当 ApplicationContext 中发布一个事件时,所有扩展了 ApplicationListener 的 Bean都将接受到这个事件,并进行相应的处理。用 ApplicationContext,而不是底层的 BeanFactory。
2023-12-24 16:02:06
781
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人