摘要: 在理解策略模式之前我们假设有这样一个需求场景:我们在写订单支付场景的代码时,客户可以选择多种支付方式,有银联支付、支付宝支付、微信支付、京东白条等等。然后我们就很可能就会编写出类似下面这样的代码: 客户端: 结果: 可以看出这段代码在逻辑上没有问题,也能够很好的运行; 但是存在一个问题:将所有的支付 阅读全文
posted @ 2019-11-07 08:48 EamonZzz 阅读(552) 评论(1) 推荐(2) 编辑
摘要: 理解 首先委派模式不属于23种设计模式。 所谓委派,个人理解是:将为达到最终结果的事情交给其他人或中间人来干,我只要最终结果,其他的事情,由我委派的人来安排。 更直白的表达就是,比如,我们想要盖一栋楼房,盖完之后我要刷漆,这些事情我自己肯定不能做,所以我这时候就会去找一个“包工头”来帮我完成这件事情 阅读全文
posted @ 2019-10-28 09:51 EamonZzz 阅读(741) 评论(2) 推荐(0) 编辑
摘要: 本篇文章代码内容较多,讲的可能会有些粗糙,大家可以选择性阅读。 本篇文章的目的是简单的分析动态代理的原理及模仿 手写一个动态代理以及对几种代理做一个总结。 对于代理模式的介绍和讲解,网上已经有很多优质的文章,我这里就不会再过多的介绍了,这里推荐几篇优质的文章作为参考: 1. "给女朋友讲解什么是代理 阅读全文
posted @ 2019-10-15 08:58 EamonZzz 阅读(494) 评论(0) 推荐(2) 编辑
摘要: 前言 在之前的 "设计模式 单例模式(详解)看看和你理解的是否一样?" 一文中,我们提到了通过 开发工具进行多线程调试、单例模式的暴力破坏的问题;由于篇幅原因,现在单独开一篇文章进行演示:线程不安全的单例在多线程情况下为何被创建多个、如何破坏单例。 如果还不知道如何使用IDEA工具进行线程模式的调试 阅读全文
posted @ 2019-10-10 09:04 EamonZzz 阅读(832) 评论(0) 推荐(2) 编辑
摘要: 一、多线程调试断点 的 断点调试是有一个模式的选择的,就像下面这张图,平时我们都使用的是默认的 (在 中默认是线程模式) ,这种模式我们只能将一个线程断下来,但其他线程却已经执行过了;而将其改为 后,就可以多个线程都断下来,并且可以很方便的切换线程的执行流程,这就是多线程调试。 在 控制台能够很方便 阅读全文
posted @ 2019-10-09 08:59 EamonZzz 阅读(2802) 评论(2) 推荐(5) 编辑
摘要: 一、概述 单例模式是设计模式中相对简单且非常常见的一种设计模式,但是同时也是非常经典的 高频 面试题,相信还是有很多人在面试时会挂在这里。本篇文章主要针对单例模式做一个回顾,记录单例模式的应用场景、常见写法、针对线程安全进行调试(看得见的线程)以及总结。相信大家看完这篇文章之后,对单例模式有一个非常 阅读全文
posted @ 2019-10-08 08:48 EamonZzz 阅读(779) 评论(6) 推荐(5) 编辑
摘要: 概述 我们都知道 中共有 23 种设计模式,其中工厂模式分为三种,即:简单工厂模式(不在 23 种设计模式之列)、工厂方法模式和抽象工厂模式;我们平时说的工厂模式,其实大都指工厂方法模式,这种模式是我们平时编码中用的频率最高的一种,在 源码中就有很多工厂模式的应用,比如 。 下面依次按照简单工厂模式 阅读全文
posted @ 2019-09-30 08:51 EamonZzz 阅读(514) 评论(0) 推荐(0) 编辑
摘要: 发布说明 其实不用设计模式并非不可以,但是用好设计模式能帮助我们更好地解决实际问题。 设计模式天天都在用,但自己却无感知。 本系列文章,初衷是为了记录日常经常使用的设计模式,也给学习设计模式的同学们提供参考和查阅。 文章内容有自己的理解,也有参考网络,如有侵犯,请告知删除。 学习设计模式的重要性 设 阅读全文
posted @ 2019-09-30 08:47 EamonZzz 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 概述 简单介绍一下七大设计原则: 1. 开闭原则 :是所有面向对象设计的核心,对扩展开放,对修改关闭 2. 依赖倒置原则 :针对接口编程,依赖于抽象而不依赖于具体 3. 单一职责原则 :一个接口只负责一件事情,只能有一个原因导致类变化 4. 接口隔离原则 :使用多个专门的接口,而不是使用一个总接口 阅读全文
posted @ 2019-09-27 08:43 EamonZzz 阅读(355) 评论(0) 推荐(2) 编辑
摘要: 概述 简单介绍一下七大设计原则: 1. 开闭原则 :是所有面向对象设计的核心,对扩展开放,对修改关闭 2. 依赖倒置原则 :针对接口编程,依赖于抽象而不依赖于具体 3. 单一职责原则 :一个接口只负责一件事情,只能有一个原因导致类变化 4. 接口隔离原则 :使用多个专门的接口,而不是使用一个总接口 阅读全文
posted @ 2019-09-26 10:23 EamonZzz 阅读(434) 评论(2) 推荐(0) 编辑