JAVA常用设计模式
繁星$
这个作者很懒,什么都没留下…
展开
-
java常用设计模式 ----Builder建造者模式(简单易懂)
建造者模式 一、什么是建造者模式 在不改变原有功能的基础上附加功能,相比生成子类更灵活。 二、建造者模式应用场景 动态的给一个对象添加或者撤销功能。 多级缓存设计 mybatis中一级与二级缓存 IO流 三、装饰者模式定义 (1)抽象组件:定义一个抽象接口,来规范准备附加功能的类 (2)具体组件:将要被附加功能的类,实现抽象构件角色接口 (3)抽象装饰者:持有对具体构件角色的引用并定义与抽象构件角色一致的接口 (4)具体装饰:实现抽象装饰者角色,负责对具体构件添加额外功能。 装饰者模式类图 四、装饰者原创 2020-06-04 20:08:05 · 230 阅读 · 0 评论 -
java常用设计模式 ----适配器模式(简单易懂)
适配器模式 一、什么是适配器模式 定义:将一个系统的接口转换成另外一种形式,从而使原来不能直接调用的接口变得可以调用。 二、适配器模式角色划分 适配器模式涉及3个角色: 源(Adaptee):需要被适配的对象或类型, 旧版本或者苹果手机插口 适配器(Adapter):连接目标和源的中间对象,相当于插头转换器,新版本与老版本能够实现兼容 目标(Target):期待得到的目标, 新版本或者圆子头耳机 适配器模式包括3种形式:类适配器模式、对象适配器模式、接口适配器模式(或又称作缺省适配器模式)。 三、适配器模式原创 2020-06-03 14:41:08 · 513 阅读 · 0 评论 -
java常用设计模式 ----策略模式(简单易懂)
策略模式 一、什么是策略模式 策略模式是对算法的包装,是把使用算法的责任和算法本身分割开来,委派给不同的对象管理,最终可以实现解决多重if判断问题。 环境(Context)角色:持有一个Strategy的引用。 抽象策略(Strategy)角色:这是一个抽象角色,通常由一个接口或抽象类实现。此角色给出所有的具体策略类所需的接口。 具体策略(ConcreteStrategy)角色:包装了相关的算法或行为。 定义策略接口->实现不同的策略类->利用多态或其他方式调用策略 二、策略模式优缺点 优点原创 2020-06-03 14:40:16 · 389 阅读 · 0 评论 -
java常用设计模式 ----责任链模式(简单易懂)
责任链模式 一、什么是责任链模式 客户端发出一个请求,链上的对象都有机会来处理这一请求,而客户端不需要知道谁是具体的处理对象。这样就实现了请求者和接受者之间的解耦,并且在客户端可以实现动态的组合职责链。使编程更有灵活性。 定义:使多个对象都有机会处理请求,从而避免了请求的发送者和接受者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理它为止。其过程实际上是一个递归调用。 要点主要是: 有多个对象共同对一个任务进行处理。 这些对象使用链式存储结构,形成一个链,每个对象知道自己的下一原创 2020-06-01 20:05:04 · 211 阅读 · 0 评论 -
java常用设计模式 ----单例模式(简单易懂)
单例模式 一、什么是单例模式 单例模式确保一个类只有一个实例,并提供一个全局访问点,实现单例模式的方法是私有化构造函数,通过getInstance()方法实例化对象,并返回这个实例 二、单例模式应用场景 项目中定义的配置文件 Servlet对象默认就是单例 线程池、数据库连接池 Spring中Bean对象默认就是单例 实现网站计数器 Jvm内置缓存框架(定义单例HashMap) 定义枚举常量信息 三、单例模式优缺点 优点:能够节约当前堆内存,共享资源,全局使用,不需要频繁New对象,能够快速访问,提高性原创 2020-06-01 17:46:23 · 208 阅读 · 0 评论 -
java常用设计模式 ----代理模式(史上最全)
彻底搞懂代理模式实现原理 一、什么是代理模式 代理模式主要是对我们方法执行之前和之后实现增强 二、代理模式应用场景 日志的采集 权限控制 实现aop Mybatis mapper Spring的事务 全局捕获异常 Rpc远程调用接口 分布式事务原理代理数据源 三、代理模式实现的原理 代理模式主要包含三个角色,即抽象主题角色(Subject)、委托类角色(被代理角色,Proxied)以及代理类角色(Proxy),如上图所示: 抽象主题角色:可以是接口,也可以是抽象类; 委托类角色:真实主题角色,业务逻辑原创 2020-05-29 19:34:31 · 525 阅读 · 0 评论 -
java常用设计模式 ----观察者模式(简单易懂)
观察者模式 一、什么是观察者模式 在对象之间定义了一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象会收到通知并自动更新。 其实就是发布订阅模式,发布者发布信息,订阅者获取信息,订阅了就能收到信息,没订阅就收不到信息。 二、观察者模式应用场景 Zookeeper事件通知节点 消息订阅通知 安卓开发事件注册 分布式配置中心 三、观察者模式定义 抽象被观察者角色:也就是一个抽象主题,它把所有对观察者对象的引用保存在一个集合中,每个主题都可以有任意数量的观察者。抽象主题提供一个接口,可以增加和删除观察原创 2020-05-29 19:33:27 · 171 阅读 · 0 评论 -
java常用设计模式 ----装饰者模式(简单易懂)
装饰者模式 一、什么是装饰者模式 在不改变原有功能的基础上附加功能,相比生成子类更灵活。 二、装饰者模式应用场景 动态的给一个对象添加或者撤销功能。 多级缓存设计 mybatis中一级与二级缓存 IO流 三、装饰者模式定义 (1)抽象组件:定义一个抽象接口,来规范准备附加功能的类 (2)具体组件:将要被附加功能的类,实现抽象构件角色接口 (3)抽象装饰者:持有对具体构件角色的引用并定义与抽象构件角色一致的接口 (4)具体装饰:实现抽象装饰者角色,负责对具体构件添加额外功能。 装饰者模式类图 四、装饰者原创 2020-05-28 16:31:00 · 269 阅读 · 0 评论 -
java常用设计模式 总览
java常用设计模式 总览一、设计模式分为3大类1、创建型模式2、结构型模式3、行为模式二、设计模式的六大原则1、开闭原则(Open Close Principle)2、里氏代换原则(Liskov Substitution Principle)3、依赖倒转原则(Dependence Inversion Principle)4、接口隔离原则(Interface Segregation Principle)5、迪米特法则(最少知道原则)(Demeter Principle)6、合成复用原则(Composite原创 2020-05-28 11:56:00 · 162 阅读 · 0 评论