GoF
记录设计模式原理
清泉影月
清泉影月,取自“明月松间照,清泉石上流”
展开
-
Java 策略模式(strategy)
前言:问:啥是“策略”答:不同情况不同处理呗问:那不就是 if…else 或者 switch 吗答:本质上差不多吧问:总有区别的吧,“策略”听起来感觉高级些答:那肯定啊问:到底啥区别答:高级的东西用起来舒服,价格也贵问:…,可以不用吗答:可以啊,又没人逼你问:那么豪横吗,来一套试试1.策略模式举例“策略”就如前言所说,这里举一个常见的栗子,我们去超市买东西,结账的时候会被各种询问,收银妹子:您是会员吗鄙人:不是收银妹子:会员九五折,只需要登记一下手机号就行了呢,要不要开通一下原创 2020-06-19 10:52:17 · 266 阅读 · 0 评论 -
Java 深浅拷贝和原型模式
前言:本来是在学习原型模式的,后来发现它就是一个拷贝,然后就去研究了下深浅拷贝以及它们的实现,这里不说大道理,尽量通俗易懂地把它们都讲清楚。1.引入问:java 对象拷贝的意义何在?为啥要拷贝?答:因为懒,不想实例化一个,所以拷贝生成一个新的对象现实实例:本科学习的时候有很多课程是讲 ppt 进行考核的,有些人忙(其实嘛…)没做 ppt,所以就会拷贝一份室友(室长)的;A室友拷贝了一份 ppt 就放在室友电脑里面同一个目录下,改了些个人信息,并把 ppt 链接的素材裁剪了一番;B室友把所有 pp原创 2020-06-12 11:15:59 · 231 阅读 · 0 评论 -
Java 设计模式之桥接模式
前言:Bridge 模式以前看过,看到最后发现这就是一个继承嘛,居然还能搞个模式出来,不科学啊,当时没弄清楚,后来就没关注了;今天突然热血来潮,决定搞清楚这个模式,仔细研究后发现以前我被坑了。1.为啥被坑好多博主写过 bridge 模式,不少写的都有问题,有些是核心思想写对了,但是举例写错了;有些画了一堆图把人绕晕了,最后完全看不懂。当然还有一个原因是平时用的少,很少人去研究,写博客纯粹就是抄别人的,别人错他也错,然后看的人似是而非,糊里糊涂。2.bridge核心思想核心:解耦对象描述,让对象可原创 2020-06-01 21:11:56 · 227 阅读 · 0 评论 -
java 设计模式之建造者模式
前言:Builder 模式平时开发用的少,主要原因是有很大的缺陷原创 2020-05-18 19:48:42 · 194 阅读 · 0 评论 -
Java 设计模式之单例模式
前言:单例模式,就是在程序运行过程中某一个对象只能有一个实例。说一个场景,你手中有一套房要卖,委托了好几家门店销售,假如同一时间两个销售员把你的房以同一价格销售给不同的人,这时候你卖给谁?这个场景带来的其实是两个问题,一套房(涉及单例),两个销售员(涉及多线程)。1.懒汉模式简述懒汉模式,单例模式的入门讲解就从这个开始的,几乎所有的人都会跟你说这个是线程不安全的,今天我们来测一下为啥不安...原创 2020-04-29 22:07:11 · 229 阅读 · 0 评论 -
Java 设计模式之工厂模式
前言:工厂模式是设计模式中比较常见的模式,想象一个万能的工厂,你输入不同的原料产出不同的产品,这就是工厂模式。1.三种工厂很多讲设计模式都会讲三种工厂,分别是:简单工厂、工厂方法、抽象工厂。这种理解是不对的,看外文书或直译书一般很难看到三种工厂这种概念,国内这么讲是为了更好理解工厂模式。真正的工厂模式是第二种情况,第三种可以看作是工厂模式的引申,第一种算是入门。2.工厂模式工厂模式涉及...原创 2020-04-28 21:02:36 · 157 阅读 · 0 评论 -
python 设计模式之 -- 模板模式
前言模板模式,这个在开发过程中用得多,只是有时候即使用了,自己也不清楚。一般讲设计模式的时候都喜欢讲怎么实现它,我觉得没必要,使用设计模式一定要有意义,如果只是单纯为了使用而使用,以后运维会变得很难受。使用设计模式不外乎几种原因,优化扩展性,代码重用,优化逻辑,减少内存,提升速度等等。1.什么是模板模式你有一个镂空的恐龙模板,你上红色,然后印在白纸上就会有一个红色恐龙;你上绿色印在白纸上就会...原创 2020-01-26 17:57:36 · 169 阅读 · 0 评论 -
python 设计模式之 -- 迭代模式
前言去年买了一本《图解设计模式》,是用 java 写的,今年不写 java了,已经入了python 的坑,现在打算把书拿起来研读,把里面的 java 代码全部转成 python,这样设计模式基本可以入门了。如果大家对设计模式感兴趣的话,可以买一本看看,不过程序员的经典之作还是 GoF(the gang of four),翻译成中文 “四人帮”,最开始就是四个人的论文整合的,不得不说老外起名字很有...原创 2020-01-20 16:06:26 · 233 阅读 · 0 评论