设计模式
文章平均质量分 60
Js_tp
All In All.
展开
-
策略模式2:替换掉狗屎一样的if else 语句
原创 2020-08-07 16:06:01 · 300 阅读 · 0 评论 -
第二十四章 状态模式
一、 状态模式介绍 二、代码演示三、jdk中使用 状态模式的地方一、 状态模式介绍二、代码演示三、jdk中使用 状态模式的地方原创 2019-12-03 09:43:10 · 144 阅读 · 0 评论 -
第二十三章 访问者模式
一、访问者模式介绍 二、代码演示三、jdk中使用访问者模式的地方一、 访问者模式介绍二、代码演示三、jdk中使用访问者模式的地方原创 2019-12-01 22:31:14 · 112 阅读 · 0 评论 -
第二十二章 责任链(职责链)模式
一、迭代器模式介绍二、代码演示三、jdk中使用迭代器 模式的地方一、 迭代器模式介绍二、代码演示三、jdk中使用 迭代器模式的地方器模式原创 2019-12-01 21:02:40 · 138 阅读 · 0 评论 -
第二十一章 中介者模式
快速导航一、中介者模式介绍二、代码演示三、jdk中使用中介者模式的地方一、 中介者模式介绍二、代码演示三、jdk中使用中介者模式的地方原创 2019-12-01 19:57:56 · 147 阅读 · 0 评论 -
第二十章 命令模式
快速导航一、命令模式介绍二、代码演示三、jdk中使用命令模式的地方一、 命令模式介绍二、代码演示三、jdk中使用命令模式的地方原创 2019-12-01 17:54:52 · 118 阅读 · 0 评论 -
第十九章 备忘录模式
快速导航一、备忘录模式介绍二、代码演示三、jdk中使用备忘录模式的地方一、 备忘录模式介绍二、代码演示三、jdk中使用备忘录模式的地方原创 2019-12-01 17:05:27 · 180 阅读 · 0 评论 -
第十八章 观察者模式
快速导航一、观察者模式介绍二、代码演示三、jdk中使用观察者模式的地方一、 观察者模式介绍二、代码演示三、jdk中使用观察者模式的地方原创 2019-12-01 16:44:47 · 121 阅读 · 0 评论 -
第十七章 解释器模式
快速导航一、解释器模式介绍二、代码演示三、jdk中使用解释器模式的地方一、 解释器模式介绍二、代码演示三、jdk中使用解释器模式的地方原创 2019-12-01 15:30:41 · 129 阅读 · 0 评论 -
第十六章 策略模式
快速导航一、策略模式介绍二、代码演示三、jdk中使用 策略模式的地方一、 策略模式介绍二、代码演示三、jdk中使用 策略模式的地方原创 2019-12-01 14:20:35 · 171 阅读 · 1 评论 -
第十五章 迭代器模式--看了总结不明白你打我
快速导航一、迭代器模式介绍二、代码演示三、jdk中使用迭代器 模式的地方一、 迭代器模式介绍定义:提供一种方法,顺序访问一个集合对象中的各个元素,而又不暴露该对象的内部表示。类型:行为型适用场景:访问一个集合对象的内容而无需暴露它的内部表示为遍历不同的集合结构提供一个统一的接口优点:分离了集合对象的遍历行为缺点:类的个数成对增加相关设计模式:迭代器模式和访问者模式...原创 2019-11-30 20:47:55 · 208 阅读 · 0 评论 -
第十三章 代理模式
快速导航一、代理模式介绍二、代码演示三、jdk中使用代理模式的地方一、代理模式介绍定义:为其他对象提供一种代理,以控制对这个对象的访问代理对象在客户端和目标对象之间起到中介作用适用场景:保护目标对象增强目标对象优点:代理模式能将代理对象与真实被调用的目标对象分离一定程度上降低了系统的耦合度,扩展性好保护目标对象增强目标对象缺点:造成系统设计中类数量的增加在客户端...原创 2019-11-30 16:26:27 · 196 阅读 · 0 评论 -
第十二章 桥接模式
快速导航一、桥接模式介绍二、代码演示三、jdk中使用桥接模式的地方一、桥接模式介绍定义: 将抽象部分与它的具体实现部分分离,使它们都可以独立的变化通过组合的方式建立两个类之间的联系,而不是继承类型:结构型适用场景:抽象和具体实现之间增加更多的灵活性一个类存在两个(或多个)独立变化的维度,且这两个(或多个)维度都需要独立进行扩展不希望使用继承,或因为多层继承导致系统类的个数剧...原创 2019-11-30 13:31:20 · 133 阅读 · 0 评论 -
第十一章 组合模式
快速导航一、介绍二、代码演示三、jdk中使用的方法原创 2019-11-30 10:43:47 · 141 阅读 · 0 评论 -
第十章 享元模式
快速导航一、享元模式简介二、代码展示三、jdk中使用享元模式的地方一、享元模式简介原创 2019-11-28 22:41:46 · 115 阅读 · 0 评论 -
第九章 适配器模式--用易懂的方式解释(总结)一下
快速导航一、适配器模式简介二、代码展示三、jdk中使用适配器模式的地方一、适配器模式简介**定义:**将一个类的接口转换成客户期望的另一个接口使原本接口不兼容的类可以一起工作**类型:**结构型适用场景:1、已经存在的类,它的方法和需求不匹配时(方法结果相同或相似)2、不是软件设计阶段考虑的设计模式,是随着软件维护,由于不同产品,不同厂家造成功能类似而接口不相同的情况下的解决...原创 2019-11-27 11:13:58 · 205 阅读 · 0 评论 -
第八章 装饰者模式
快速导航一、装饰者模式简介二、代码展示一、装饰者模式简介定义: 在不改变原有对象的基础上,将功能附加到对象上提供了比继承更有弹性的替代方案(扩展原有对象功能)类型: 结构型适用场景:扩展一个类的功能或给一个类添加附加职责动态的给一个对象添加功能,这些功能可以再动态的撤销优点:继承的有力补充,比继承灵活,不改变原有对象的情况下给一个对象扩展功能通过使用不同装饰类以及这些装...原创 2019-11-24 20:42:54 · 145 阅读 · 0 评论 -
第七章 外观模式(也叫 门面模式)
快速导航一、外观模式简介二、代码展示三、jdk中使用的外观模式一、外观模式简介定义: 外观模式又叫门面模式,提供了一个统一的接口,用来访问子系统中一群接口。外观模式定义了一个高层接口,让子系统更容易使用类型: 结构型适用场景:1、子系统越来越复杂,增加外观模式提供简单接口调用2、构建多层系统结构,利用外观对象作为每层的入口,简化层间调用优点:1、简化了调用过程,无需深入...原创 2019-11-24 18:21:00 · 244 阅读 · 0 评论 -
第六章 原型模式(克隆)
快速导航一、代码示例(浅克隆、深克隆)二、克隆方式破坏单例模式三、jdk中使用原型模式原型模式介绍定义:原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。不需要知道任何创建的细节,不调用构造函数。类型:创建型适用场景:类初始化消耗较多资源new 产生的一个对象需要非常繁琐的过程(数据准备、访问权限)构造函数比较复杂循环体中生产大量对象时优点:简化创建过程性能...原创 2019-11-24 16:27:41 · 202 阅读 · 0 评论 -
第四章 设计模式--建造者模式
建造者模式简介1、定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。用户只需指定需要建造的类型就可以得到它们,建造过程不需要了解。类型:创建型。适用市场:1、一个对象有非常复杂的内部结构2、想把复杂对象的创建和使用分离优点:封装性好,创建和使用分离扩展型好、建造类之间独立、一定程度上解耦。缺点:会产生多余的Builder 对象产品内部发生变化,...原创 2019-11-24 10:50:25 · 184 阅读 · 0 评论 -
第五章 单例模式(多方面解析)
1、单例模式的介绍定义:保证一个类只有一个实例,并提供一个全局访问点。类型:创建型。优点:在内存中只有一个实例,减少了内存开销(尤其是创建和销毁比较麻烦的时候)可以避免对资源的多重占用设置全局访问点,严格限制访问缺点:没有接口,扩展困难重点:私有构造器线程安全(非常重要)延迟加载序列化和反序列化安全(破坏单例模式)反射(防止反射攻击)对比:单例模式–工厂模式...原创 2019-11-22 11:15:47 · 283 阅读 · 0 评论 -
第三章 设计模式--工厂模式 之抽象工厂模式
抽象工厂模式定义:抽象工厂模式提供一个创建一系列相关或相互依赖对象的接口。适用场景:1、客户端不依赖与产品类实例如何被创建、实现等细节2、强调一系列相关产品对象(属于同一产品族),一起适用创建对象需要大量重复代码。3、提供一个产品类的库,所有产品以同样的接口出现,从而使客户端不依赖于具体实现。优点:1、代码隔离,我虚关心具体实现细节。2、将一系列的产品族统一到一起创建。缺点:1...原创 2019-11-18 14:38:52 · 227 阅读 · 0 评论 -
第二章 设计模式--工厂模式 之工厂方法模式
工厂模式分为工厂方法模式和抽象工厂模式;工厂模式是解决产品等级的问题;抽象工厂是解决产品族的问题。现在我们先来说一下工厂模式:工厂方法:定义:定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类,工厂方法让类的实例化推迟到子类中进行。适用场景:1.创建对象需要大量重复的代码2.客户端不依赖与产品类实例如何被创建、实现等细节3.一个类通过其子类来指定创建哪个对象利用面...原创 2019-11-17 19:38:54 · 216 阅读 · 0 评论 -
第一章 设计模式介绍及简单工厂模式
希望这是一个好习惯的开始。如何设计出优雅、简洁、可扩展的编程风格,是每个程序员都需要认真对待的事情,借助常用的设计模式的综合使用及取舍,可帮助我们在编写代码时,深入理解面向对象的设计思想,使用设计模式的机制,设计出简单易复用的模式和结构,从而提高开发效率,节约开发成本。coding不止是一门技术,也是一门艺术。设计模式原则: 使用设计模式时,我们常遵循5大原则,当然有的地方也说是...原创 2019-11-17 15:56:45 · 268 阅读 · 0 评论