摘要: 定义: 提供对语言的语法定义,并说明此语法的作用。 比如SQL语句,mysql怎么知道where就是条件查询呢? insert into 就是插入数据呢? 这就是先定义了select,where这些关键词的语义,然后规定语法,在用户正确书写后可以对SQL语句进行拆分和转换其中关键词的含义。 此模式我 阅读全文
posted @ 2022-04-05 07:43 伟衙内 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 顾名思义,买房和卖房的人一般会委托中介,而不是直接去找卖主,卖主也不会接触买主。 那么在设计模式中这个中介对象,就是简化原有对象之间的交互关系,降低对象间的耦合度,使原有对象之间不必相互了解。 如果像上面这样,对象与对象之间的交互形成了网状结构,各自相互依赖。关系很是复杂,有时候都不知道调用哪。 引 阅读全文
posted @ 2022-04-05 07:42 伟衙内 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 这应该算是比较难理解的一个模式了。 这种模式一般针对于被访问者类是固定,而访问者是经常变化的场景。 目前此类暂不做过多描述,我自己也没完全掌握,每次写完代码后可以看一遍访问者模式,看看是否可以改成访问者模式。 被访问者 /** * @author lw * @date 2022/4/1 0001 * 阅读全文
posted @ 2022-04-05 07:35 伟衙内 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 定义: 当对象的状态改变,其行为也会改变。 一般理解为,一个对象在不同的状态会有不同的方法调用。 比如在短信发送中,短信分为未发送,发送成功,发送失败等三个状态。 每一个状态的改变都需要有对应的动作处理。 /** * @author lw * @date 2022/3/29 0029 * @desc 阅读全文
posted @ 2022-04-05 07:30 伟衙内 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 定义是: 不破坏对象封装性,保存对象的内部状态。 它有个别名: 备份和恢复模式 如下所示,有个变量a,但是a的内容错了,现在要把a的内容换一下。 String a="a"; //····一系列操作后····a=1234567 //此时a的原来数据就丢失了。 String temp = a;//如果在 阅读全文
posted @ 2022-04-05 07:22 伟衙内 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 定义: 将一个请求封装为一个对象,使发出请求的责任和执行请求的责任分割开。 先转换概念: 将一个命令封装为一个对象,使发出命令的对象和执行命令的对象分割开。 提取关键词: 命令=对象,发出命令的对象,执行命令的对象。需要3个对象。 如上所示,定义了三个对象,扩展了两个具体命令。 命令发送方 /** 阅读全文
posted @ 2022-04-05 07:19 伟衙内 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 顾名思义,这是一个链式传递,将责任一层一层传递,最终找到背锅的那位。 提取关键词: 链式传递,最终者。 那么必然前面一位要知道怎么把这个锅传给后面一位,要是都不知道后面一位是谁,怎么传递责任。 如同上图一样,假如一个系统出问题了,总监问主任,主任找部长,部长找组长,组长最终让程序员找原因,这样层层传 阅读全文
posted @ 2022-04-05 07:12 伟衙内 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 此模式看下图就知道了,用来遍历访问ArrayList中数据对象,而不会暴露内部逻辑。 在ArrayList中有一个迭代器,Itr,用来访问ArrayList中的数据。 一般调用方式如下, List<String> list = new ArrayList<>(); Iterator<String> 阅读全文
posted @ 2022-04-05 07:08 伟衙内 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 定义: 多个对象间存在一对多关系,当一个对象发生改变时,会把这种改变通知给其他多个对象,从而影响其他对象的行为。 首先提取关键词,多个对象、一对多关系,通知其他对象。 根据上述关键词定义一个多的对象(SmsTarget),定义一个改变的量(SmsPool.smsContent),再定义通知方法not 阅读全文
posted @ 2022-04-05 07:03 伟衙内 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 顾名思义,定义一个模板,使用模板的子类可以往模板里面填写不同内容,但是模板的结构不能改变。 同样的场景,有发送短信,发送邮件,发送后都需要记录日志,发送前还需要进行内容校验,防止有一些不法信息。 用模板模式,就需要提取出发短信和发邮件两个操作的共同点,有两个,第一个是内容拦截,第二个是记录日志, 而 阅读全文
posted @ 2022-04-05 06:57 伟衙内 阅读(23) 评论(0) 推荐(0) 编辑