上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 19 下一页
摘要: 定义: 多个对象间存在一对多关系,当一个对象发生改变时,会把这种改变通知给其他多个对象,从而影响其他对象的行为。 首先提取关键词,多个对象、一对多关系,通知其他对象。 根据上述关键词定义一个多的对象(SmsTarget),定义一个改变的量(SmsPool.smsContent),再定义通知方法not 阅读全文
posted @ 2022-04-05 07:03 伟衙内 阅读(45) 评论(0) 推荐(0)
摘要: 顾名思义,定义一个模板,使用模板的子类可以往模板里面填写不同内容,但是模板的结构不能改变。 同样的场景,有发送短信,发送邮件,发送后都需要记录日志,发送前还需要进行内容校验,防止有一些不法信息。 用模板模式,就需要提取出发短信和发邮件两个操作的共同点,有两个,第一个是内容拦截,第二个是记录日志, 而 阅读全文
posted @ 2022-04-05 06:57 伟衙内 阅读(32) 评论(0) 推荐(0)
摘要: 定义了一系列的算法,并将每一个算法封装起来,使他们可以相互替换。 这就是策略模式的定义,转换下概念,定义了一系列的类,并将每一个类的实现封装起来,使他们可以随调用者使用。 凡是用到if - else的条件判断,都可以考虑考虑是否可以使用策略模式。 假如有这么一个场景,用户可以选择发短信,也可以选择发 阅读全文
posted @ 2022-04-04 12:38 伟衙内 阅读(25) 评论(0) 推荐(0)
摘要: 先看下定义: 允许使用对象共享来有效地支持大量细粒度对象 提取关键词,共享对象,也就是说这个对象是共享的,那么也就是说是被继承或者实现的。 而一般继承或者实现都是应该有很多共性,所以被抽取出共性。 所以当程序中存在很多共性的地方,只是根据外部调用会有些变化时,那么可以考虑享元模式。 这种模式可以参考 阅读全文
posted @ 2022-04-04 10:57 伟衙内 阅读(29) 评论(0) 推荐(0)
摘要: 顾名思义,组合模式允许以相同的方式处理单个对象和对象的组合体。 也就是说这个组合类可以处理单个的对象,也可以处理对象的集合。 单节点组合 如上图所示,定义了一个工厂,产生消息对外的一个类,用于外部调用。 定义一个抽象类(SenderService),用于规范一些操作。 SmsService这个类才是 阅读全文
posted @ 2022-04-04 10:54 伟衙内 阅读(22) 评论(0) 推荐(0)
摘要: 外观模式就是提供一个统一的接口供外界调用,以降低内部逻辑复杂性。 如上图,还是拿目前最常用的模式来说,这个SmsServiceImpl里面在发送短信时,调用了一大堆其他内部逻辑。 要记录日志,要插入表数据,要调用外部接口发邮件等等。 如果要每次send(Sms)后都需要自己手动调用一次 LogSer 阅读全文
posted @ 2022-04-04 10:51 伟衙内 阅读(30) 评论(0) 推荐(0)
摘要: 将抽象部分与它的实现部分分离,使它们都可以独立地变化。 就说一个场景,如下图所示,有SmsService和MailService两个服务,分别负责发短信和发邮件。 同时有三个日志服务,负责记录日志等。 在发送短信或者邮件后,需要记录日志,那么此时需要记录DB,File,Server三种日志,而后续还 阅读全文
posted @ 2022-04-04 10:44 伟衙内 阅读(32) 评论(0) 推荐(0)
摘要: 代理模式定义为提供一种方式以限制对被代理对象的访问控制。 也就是说不会让你直接接触到被代理对象,一切对外操作由代理对象来产生。 普通代理 如上图所示,就先来写一个代理类,SmsProxyService,以后发短信的操作就交给代理类来执行。 /** * @author lw * @date 2022/ 阅读全文
posted @ 2022-04-04 10:34 伟衙内 阅读(30) 评论(0) 推荐(0)
摘要: 顾名思义,就是给以前的类装饰一下,增加一些其他功能呗。 还是上面SmsService这个类,这个类里面纯粹是发送短信,记录日志。 假如,这个类里面需要记录一张新表的日志呢?独属于项目组自己的日志。 方案A、修改jar包中代码,增加记录项目组自己的日志代码。(呵呵,会被打死吧) 方案B、把这个类调用时 阅读全文
posted @ 2022-04-04 10:30 伟衙内 阅读(27) 评论(0) 推荐(0)
摘要: 适配器,也叫做包装器,顾名思义,就是设计一个转接头,用来连接两个无法正常对接的类。 有这么一个场景,项目之初有人写了SmsService用于发短信,记录日志,同时将这个打成jar包,用于给多个项目组使用。 /** * @author lw * @date 2022/3/28 0028 * @desc 阅读全文
posted @ 2022-04-04 10:28 伟衙内 阅读(36) 评论(0) 推荐(0)
上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 19 下一页