关注「Java视界」公众号,获取更多技术干货
摘要: 目录 一、为什么要用中介者模式 二、中介者模式中的角色 三、中介者模式怎么用? 四、中介者模式的优缺点 优点 缺点 一、为什么要用中介者模式 中介者模式核心在于中介者这个角色,理解上可以参考现实中的中介者,中介就跟中间人一样,跟桥梁... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(1354) 评论(0) 推荐(0)
摘要: (源码链接:https://pan.baidu.com/s/1i-afXQ2tBGded6t8Psea8g 提取码:bh0r) 一、... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(123) 评论(0) 推荐(0)
摘要: 命令模式的核心在于引入了命令类,通过命令类来降低发送者和接收者的耦合度,请求发送者只需指定一个命令对象,再通过命令对象来调用请求接收者的处理方法。 一、什么是命令模式? 命令模式可以将请求发送者和接收者完全解耦,发送者与接收者之间没有直接引用关系,发送... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(114) 评论(0) 推荐(0)
摘要: 一、匹配以某字符开头某一行 (?:^|\n)字符位置.* 比如(?:^|\n)prompt.*表示以prompt开头的这一行字符串 二、 匹配以a字符串开头,b字符串结尾的字符,中间不管 a字符串位置(.+?)b字符串位置 ,比如 匹配... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(114) 评论(0) 推荐(0)
摘要: 迭代器模式提供一种方法顺序访问一个集合对象中的各个元素,而又不暴露其内部的表示。 一、为什么需要迭代器? 迭代器模式算是一个比较古老的设计模式,其源于对容器的访问,比如 Java 的 List 、Map 、数组等。 对容器对象的访问必然会设计遍历算法,可... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(58) 评论(0) 推荐(0)
摘要: 组合模式可以在需要针对“树形结构”进行操作的应用中使用,例如扫描文件夹、渲染网站导航结构等等。 一、什么是组合模式? 组合模式将一组相似的对象看做一个对象处理,并根据一个树状结构来组合对象,提供一个统一的方法去访问相应的对象,使得用户对单个对象和组合对象... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(86) 评论(0) 推荐(0)
摘要: 备忘录模式在不破坏封闭的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。 一、备忘录模式 我们编辑word文档、写这篇博客的时候,经常用到 ctrl+z 这个快捷键,就是撤销当前操作回到上一步编辑状态... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(75) 评论(0) 推荐(0)
摘要: 在适配器模式中,我们通过增加一个新的适配器类来解决接口不兼容的问题,使得原本没有任何关系的类可以协同工作。 一、 先从一个问题说起 之前负责的项目中遇到过一个问题: 在InterceptorAdapter拦截器中对请求进行验证,把验证信息传给日志... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(72) 评论(0) 推荐(0)
摘要: 当一个对象内在状态改变时允许其改变行为,这个对象看起来像改变了其类。 一、怎么理解一个对象有多个状态? 一个对象和多个状态关联,每种状态又对应一种行为,也就是同一个对象会因为状态不同让你觉得这是不是同一个类。 比如,手机的HOME键: 关机状态: 没有... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(85) 评论(0) 推荐(0)
摘要: 建造者模式是将一个复杂对象的构建与它的表示分离,各自独立,同样的构建过程可以有不同的表现。 一、你会怎么办? 对于复杂对象,那假如一个类的构造函数参数个数超过4个,而且这些参数有些是可选的参数,你要怎样将这个类实例化?可以有两种方式: 比如我们要画一个... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(82) 评论(0) 推荐(0)

关注「Java视界」公众号,获取更多技术干货