摘要: 概念 定义一个算法中的框架,将一些步骤延迟到子类中实现,使得子类不需要改变算法结构就能重新定义算法的某些步骤。 炒菜时需要起锅、烧油、炒菜、出锅等步骤。但是起锅、烧油、出锅等步骤是必须的。 炒菜这步骤有不确定因素,可能炒白菜,也可能炒青菜。 可以把炒菜的动作放到子类去实现,子类想炒什么菜就炒什么菜。 阅读全文
posted @ 2021-12-07 16:50 、嘎路的米。 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 概念 备忘录主要用于记录状态,便于回滚,常用于记录快照,或者存储数据到磁盘。当数据发生问题时,再从磁盘读取当初存档的数据还原。 例如我玩个游戏,打boos前我有1000血,1000魔法,我希望打boos之前保存我现在的状态,当打不过时,还能还原成初始状态 实现方式 import lombok.Dat 阅读全文
posted @ 2021-12-07 16:41 、嘎路的米。 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 概念 原型模式主要为了解决复制对象的问题。复制对象的最好办法就是调用对象的自己方法进行复制。可以在对象中提供一个clone方法,当调用clone方法时,返回一个新的对象 实现方式 import lombok.Data; /** * 原型 */ public class Demo { public s 阅读全文
posted @ 2021-12-07 16:34 、嘎路的米。 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 概念 老师发布打开课本的命令,学生听到这个命令就打开课本。老师发布阅读的命令,学生听到命令后就开始阅读。 如果用普通的方式去写代码,那么老师和学生之间就存耦合关系。比如老师直接调用学生的打开课本方法,学生就打开课本。老师调用学生的阅读方法,学生就开始阅读。这样老师和学生就存在耦合关系。 而命令模式主 阅读全文
posted @ 2021-12-07 16:31 、嘎路的米。 阅读(35) 评论(0) 推荐(0) 编辑