会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
Geek
博客园
首页
新随笔
联系
订阅
管理
131 随笔 :: 2 文章 :: 7 评论 ::
40954
阅读
公告
昵称:
.geek
园龄:
5年9个月
粉丝:
4
关注:
29
随笔分类 -
思维
26种设计模式,这里都会提到
代理模式(静态代理)
摘要:
阅读全文
posted @
2020-03-25 20:55
.geek
阅读(202)
评论(0)
推荐(0)
编辑
桥接模式
摘要:定义: 将抽象部分与它的具体实现部分分离,使它们都可以独立地变化 使用组合的方式 建立两个类之间的联系,而不是使用继承的方法 使用场景: 1.抽象和具体实现之间增加更多的灵活性 2.一个类存在两个(或多个)独立变化的未读,且俩各个(或多个)维度都需要独立进行扩展 3.不希望使用继承,或因为多层继承导致系统类的个数剧增 优点: 1.分离抽象部分及其具体实现部分 2.提高系统的可扩展性 3....
阅读全文
posted @
2020-03-25 19:29
.geek
阅读(204)
评论(0)
推荐(0)
编辑
组合模式
摘要:定义: 将对象组合成数形结构以表示 "部分-整体"的层次结构 组合模式使客户端对单个对象和组合对象保持一致的方式处理 组合模式 -使用场景: 希望客户端可以忽略组合对象与单个对象的差异时(不管是黑猫白猫,都是猫就是了) 处理一个树形结构时 优点: 清楚地定义了分层次的复杂对象,表示对象的全部或部分层次 让客户端忽略层次的差异,方便对整个层次结构进行控制 简化客户端代码 符合开闭原则(软件实现应...
阅读全文
posted @
2020-03-25 18:27
.geek
阅读(295)
评论(0)
推荐(0)
编辑
享元模式
摘要:享元模式常常用于系统底层的开发,以便于解决系统的性能问题 定义:提供了减少对象数量从而改善应用所需的对象结构方式 运用共享技术有效的支持大量细粒度的对象 比如String, 有就返回,没有就创建,然后将对象保存在缓存池里面 系统有大量相识对象,需要缓冲池的场景(线程池,常量池,数据库连接池) 享元模式-优点: 减少对象的创建,降低内存中对象的数量,降低系统内存,提高效率 较少内存之外的其他资源占用...
阅读全文
posted @
2020-03-25 17:25
.geek
阅读(154)
评论(0)
推荐(0)
编辑
适配器模式
摘要:适配器适用场景 已经存在的类,他的方法和需求不匹配(方法结果相同或相似) 适配器模式不是软件设计阶段考虑的设计模式,是随着软件维护,由于不同产品, 不同厂家造成功能类似而接口不相同的情况下的解决方案(设计阶段尽量不使用) 优点: 能提高类的透明性和复用,现有的类复用但不需要改变 目标类和适配器类解耦,提高程序扩展性 符合开闭原则 适配器模式-缺点: 适配器编写过程需要全面考虑,可能会增加系统的...
阅读全文
posted @
2020-03-25 16:37
.geek
阅读(143)
评论(0)
推荐(0)
编辑
包装模式(适配器模式和装饰者模式)
摘要:先看一个图 带个 Wrapper的一般就装饰器模式 或者适配器模式 mybatis中的Cache 通过对 Cache的实现进行了进一步包装,就可以实现多种多样的功能,如LRU, FIFO等缓存淘汰策略 点击 SynchronizedCache 可以看到,这个是给 方法加上了 Synchronized ...
阅读全文
posted @
2020-03-24 19:47
.geek
阅读(734)
评论(0)
推荐(0)
编辑
外观模式
摘要:外观模式,又叫门面模式 (符合迪米特法则,也就是最少知道原则, 不改让用户知道的,就别让其知道) 外观模式定义了高层的接口,子系统负责去实现 定义一个优秀的结构很重要 用户通过调用高层接口(门面),来达到自己的目的,而接口的实现是交给子系统去完成 用户不需要知道有哪些子系统(实现类或者是其他的类)
阅读全文
posted @
2020-03-24 15:17
.geek
阅读(444)
评论(0)
推荐(0)
编辑
原型模式
摘要:实现clone方法 package visitor; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; public class Main { public static void
阅读全文
posted @
2020-03-24 13:38
.geek
阅读(194)
评论(0)
推荐(0)
编辑
责任链模式
摘要:目的: 将多个对象组成一条职责链,按照职责链的顺序一个个找出谁负责处理,弱化请求方和处理方之间的关联关系,让双方都成为可独立复用的组件 使用责任链提高程序灵活性,但也可能会导致处理延迟,如果请求者和处理者之间的关系是确定的,而且需求非常快的处理速度,不使用 chain of Responsibili
阅读全文
posted @
2020-03-18 01:43
.geek
阅读(195)
评论(0)
推荐(0)
编辑
常用的设计模式
摘要:Iterator模式 Template Method 模式 迭代器是什么?为什么要用迭代器? 解释: 将遍历与实现分离出来,加入我只想要遍历一个集合,不想知道这是什么实现,实现多种多样,但是我的需求就只有一个,就是遍历,因此,使用迭代器模式,可以提供一个统一的接口给外部访问,不用让用户关心这是什么集
阅读全文
posted @
2020-03-16 12:41
.geek
阅读(184)
评论(0)
推荐(0)
编辑
Powered by:
博客园
Copyright © 2025 .geek
Powered by .NET 9.0 on Kubernetes
点击右上角即可分享