设计模式
菜鸟腾飞
一个正在努力奋斗的95后程序员 , 记录我学习成长的点滴
展开
-
设计模式之状态模式
一.什么是状态模式?状态模式:当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了这个类.二.什么时候使用状态模式?状态模式主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况,把状态的判断逻辑转移到表示不同状态的一系列了,可以把复杂的判断逻辑简单化"三.UML图UML图与策略模式相似,但侧重点不同,状态模式是内在状态的变化,外部client无需关心,而策略是同等可替换的一个个算法,client需要知道自己使用的方法Context上下文维护State的实例,这个实例定义原创 2020-09-06 23:43:19 · 405 阅读 · 0 评论 -
设计模式之观察者模式
文章目录一.概念二.优缺点三.例子(以jdk给出的为例)一.概念观察者模式定义了对象之间的一对多依赖,让多个观察者对象同时监听一个主体对象,当主体对象发生变化时,它的所有观察者,都会接收到通知并更新,属于行为型模式.观察者模式又叫发布订阅模式以JDK的Observer Observable为例Spring中的ContextLoaderListener使用的观察者二.优缺点优点:1)...原创 2020-05-04 17:56:31 · 352 阅读 · 0 评论 -
设计模式之适配器模式
文章目录一.什么是适配器模式?二.那么适配器模式只要解决那些问题呢?三.例子练习一.什么是适配器模式?适配器模式(Adapter):将一个类的接口转换成客户希望的另外一个接口,Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作.二.那么适配器模式只要解决那些问题呢?简单地说,需要的东西就在眼前,但是却不能直接使用,短时间又无法改造,就可以考虑适配器模式通常在软件...原创 2020-04-28 21:41:47 · 323 阅读 · 0 评论 -
单利模式安全问题
常见的内部类 , 双重检测的内部类虽然保证了线程安全 , 但可通过反射 , clone 序列化等手段操作 ,创建新的对象以静态内部类为例public class Singleton4 implements Serializable,Cloneable { private Singleton4() {} private static class SingletonInstance...原创 2019-11-12 23:29:15 · 237 阅读 · 0 评论 -
设计模式之装饰者模式
装饰者模式:在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。动态的增加莫对象一些额外的职责,进行方法的增强主要由两部分组成 装饰者 和 被装饰者条件 1.实现相同接口 2.具体的装饰者对被装饰者进行引用实现思路1.Component : 装饰者 与 被装饰者都要继承的接口2.ConcreteComponent : 被装...原创 2019-04-03 23:50:57 · 135 阅读 · 0 评论 -
设计模式六大原则
1,单一职责:一个类只负责一个领域的功能,控制类的颗粒度2,里式替换:所有引用父类的地方必须透明的使用子类了;也就是说适用于父类,那么一定适用于子类,反之则不然3.接口隔离:使用专门的接口对应专门的功能,而不是总的接口4,依赖倒置:依赖抽象,不依赖具体;面向接口编程,而不是具体的实现5,迪米特原则(最少知道原则):对象之间应当减少相互作用6,开闭原则:一个软件对扩展开放,对修改关闭;也就...原创 2019-04-07 22:12:37 · 136 阅读 · 0 评论 -
设计模式之单利模式
1.什么是单利模式一个类保证只有一个对象,减少频繁创建,销毁带来的资源损耗2.分类单利模式分为恶汉模式和懒汉模式恶汉模式:在类加载时完成实例化 可通过静态常量 或 静态代码块实现 实现简单但是如果未对该资源进行使用造成资源的浪费懒汉模式:在需要使用时,调用方法实例化 要保证多线程情况下的安全性和性能实现的条件:1.保证构造函数私有不可随意构建2.通过类方法获取统一的对象/** *...原创 2019-04-13 11:13:06 · 538 阅读 · 0 评论 -
设计模式之代理模式
1.什么是代理模式是一种常见的设计模式,通过代理对象访问目标对象,可以在不改变原对象的基础上扩展功能.例如:你想要邀请歌星来表演,你不会直接去联系歌星而是去找歌星对应的经纪人,经纪人不会去唱歌,唱歌的人还是歌星,但是除唱歌以外的事则由经纪人去执行操作.2.类别2.1静态代理模式静态代理在使用时,需要定义父类或接口,被代理对象与代理对象一起实现相同的接口或者继承相同的父类2.2动态代...原创 2019-04-21 14:28:01 · 154 阅读 · 0 评论 -
rest服务与restful Api的理解
最近总是听同事们谈及rest服务与restful 接口,但是与我了解的含义有些出入,所以花了些时间整理并理解到底什么是rest ? 什么是restful 接口?一.什么是rest?Representational State Transfer,简称REST,RoyFielding博士在2000年他的博士论文中提出来的一种软件架构风格。它是一种针对网络应用的设计和开发方式,可以降低开发的复杂性...原创 2019-06-16 00:49:26 · 6433 阅读 · 1 评论