menbbo

导航

 

2022年3月7日

摘要: 介绍 客户端发出一个请求,链上的对象都有机会来处理这一请求,而客户端不需要知道谁是具体的处理对象; 让多个对象都有机会处理请求,避免请求者和接收者之间的耦合关系; 有两个核心点:处理请求,将请求传递到下一个节点。 应用场景 Tomcat对encoding编码处理,SpringBoot里面的拦截器、过 阅读全文
posted @ 2022-03-07 22:43 menbbo 阅读(79) 评论(0) 推荐(0) 编辑
 
摘要: 观察者模式 定义对象间一种一对多的关系,使得当一个对象改变状态,则所有依赖于它的对象都会得到通知,并 自动更新,也叫发布订阅模式Publish/Subscribe,属于行为模型。 应用场景 消息通知:邮件通知、广播通知、微信朋友圈; 当一个对象改变的同时需要改变其他对象,此时可以考虑观察者模式。 角 阅读全文
posted @ 2022-03-07 22:02 menbbo 阅读(26) 评论(0) 推荐(0) 编辑
 

2022年3月6日

摘要: 介绍 定义一个操作中的算法骨架,将算法一些步骤延迟到子类中,使得子类可以在不改变算法结构的情况下重新定义 该算法的某些特定步骤,属于行为模式。 应用场景 javaweb中的servlet,HttpService类提供了一个service()方法; 有多个子类共有逻辑相同的方法,可以考虑作为模板方法; 阅读全文
posted @ 2022-03-06 16:38 menbbo 阅读(21) 评论(0) 推荐(0) 编辑
 
摘要: 策略模式 定义一系列算法将它们封装起来,并且可以相互替换; 使用场景 java awt的布局管理器; 如果一个系统有许多类,它们之间的区别仅在于它们的行为,那么可以使用策略模式; 角色 context上下文:屏蔽高层模块对策略算法的直接访问,封装可能存在的变化; strategy:抽象策略角色,对策 阅读全文
posted @ 2022-03-06 15:49 menbbo 阅读(17) 评论(0) 推荐(0) 编辑
 

2022年3月5日

摘要: 介绍 属于结构型模式,主要用于减少创建对象的数量,以减少内存占用和提高性能; 享元模式尝试重用现有的同类对象,如果未找到匹配的对象,则创建新对象。 应用场景 java中的String,如果字符串常量池有则返回,没有则创建一个字符串保存在常量池中; 数据库连接池、线程池等; 如果系统中有大量相似的对象 阅读全文
posted @ 2022-03-05 17:05 menbbo 阅读(32) 评论(0) 推荐(0) 编辑
 
摘要: 介绍 装饰器模式也叫包装者模式,属于结构型模式,它作为现有类的包装,允许向一个现有对象添加新的功能, 同时也不改变其结构。 给对象添加功能,有两种方式:继承或则关联组合,讲一个类的对象嵌入另一个对象中,由另一个对象决定 对嵌入对象的行为来增强功能,这个是装饰器模式,比继承模式更加灵活。 应用场景 以 阅读全文
posted @ 2022-03-05 15:00 menbbo 阅读(13) 评论(0) 推荐(0) 编辑
 
摘要: 介绍 组合设计模式又叫部分整体模式,将对象组合成树形结构以表示“部分-整体”的层次结构,可以更好地实现管理操作; 组合模式使得用户可以使用一致的方法操作单个对象和组合对象; 部分-整体对象的基本操作多数是一样的,只有部分不一样; 核心:组合模式可以使用一颗树来表示。 应用场景 银行总行,总行有前台、 阅读全文
posted @ 2022-03-05 11:09 menbbo 阅读(28) 评论(0) 推荐(0) 编辑
 

2022年3月1日

摘要: 桥接模式 将抽象与实现分离,使得他们可以独立的变化; 通俗来说,通过组合来桥接他们的维度或行为; 优点 抽象和实现的分离; 优秀的扩展能力,符合开闭原则。 缺点 增加系统设计和理解难度; 使聚合关系建立在抽象层,要求开发者对抽象进行设计与编程。 阅读全文
posted @ 2022-03-01 23:14 menbbo 阅读(10) 评论(0) 推荐(0) 编辑
 

2022年2月28日

摘要: 适配器分类 接口的适配器 适配的目标是接口,具体实现是创建一个Adapter抽象类,去实现目标接口,方法空实现。客户端根据需要实现需要的方法即可。 类的适配器 适配的目标是类,具体实现方式是针对原来的类OldClass,创建目标接口Target,创建Adapter类继承OldClass,并实现Tar 阅读全文
posted @ 2022-02-28 23:13 menbbo 阅读(149) 评论(0) 推荐(0) 编辑
 

2022年2月27日

摘要: 实现细节 决策者(根据建造者类型产生具体产品,相同的创建过程创建不用的产品)、抽象建造者、具体建造者、产品 建造者模式优点 1)客户端无需知道产品内部的构建细节,将产品本身与创建过程解耦; 2)每一个具体建造者都相对独立,与其他建造者无关,可以更加精细的控制产品的创建过程; 3)增减新的建造者无需修 阅读全文
posted @ 2022-02-27 17:09 menbbo 阅读(35) 评论(0) 推荐(0) 编辑