
设计模式
moon聊技术
我是moon
文章首发于我的微信公众号:moon聊技术,欢迎大家关注 !
关注后回复666 有一线大厂面试题赠送,助你成为offer收割机!
展开
-
抽象工厂和工厂方法模式
工厂方法模式 简单的来说,工厂方法模式就是将简单工厂模式解耦,将工厂类细分,使得我们添加品牌的时候不用去修改源代码,只需要自己添加一个类就可以了,简单工厂模式可以看下我的上篇博客。 同样的案例 顾客要去4s店买车,有BMW,Aodi两种选择 工厂可以有奥迪的工厂,可以有宝马的工厂,我们先画个图分析一下 那么我们就可以先简单的写出来这三个类 奥迪工厂负责生产奥迪的车,故返回奥迪4s店AodiCa...原创 2019-01-23 20:54:22 · 462 阅读 · 0 评论 -
适配器模式
设计模式之适配器模式 适配器模式:将一个类的接口转换成客户希望的另一个类的接口,Adapter模式使得原本由于接口不兼容不能一起工作的类可以一起工作 -------《大话设计模式》 个人感觉类似于生活中的插头,众所周知,我们国家的电源电压标准是220V,像我们使用手机的时候,就不能直接用220V的电压,一般买手机会附送一个充电头,这个充电头就可以成为适配器,把220V的电压转化为手机适合的电压 案...原创 2019-01-24 13:42:27 · 166 阅读 · 0 评论 -
装饰模式
设计模式之装饰模式 装饰模式:动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更加灵活 -----《大话设计模式》 通过一个例子来实现 现在有一个宝马车接口,里面有定价,定型号这两个功能 之后宝马车推出了4系,要定价,只需要实现这个接口并覆盖方法就可以完成定价了 我们先来测试下 但是随后 宝马又推出了5系列,但是我们不能直接继承车类,此时就出现了装饰器类,我们让装饰器去...原创 2019-01-24 18:08:22 · 352 阅读 · 0 评论 -
观察者模式
观察者模式 观察者模式:又叫做发布—订阅模式。定义了一种一对一对多的依赖关系,让多个观察者对象同事监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使他们能够自己更新自己。 -----《大话设计模式》 我们用一个例子来展开 老师在班里上课,老师临时有点事要出去,要等会儿回来,让同学们先自习,老师让小红和小刚去办公室,然后告诉他们,让他们把作业本发给同学们,然后他们就抱着作业本...原创 2019-01-25 15:29:33 · 172 阅读 · 0 评论 -
职责链模式
设计模式之职责链模式 职责链模式:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。 将这个对象连成一条链,并沿着这条链传递该请求,知道有一个对象处理它为止。 --------《大话设计模式》 就拿大话设计模式的这个例子来说 小菜实习期到了,想转正,他就向经理提出想加薪,经理无法做主就像总监提出了小菜的想法,总监也无法做主,最终向总经理提出了小菜的请求 从这个例子我们能简单的...原创 2019-01-25 18:04:55 · 339 阅读 · 0 评论 -
代理模式
设计模式之代理模式 代理模式:为其他对象提供一种代理以控制对这个对象的访问。 -----《大话设计模式》 我们以大话设计模式上的例子展开话题 小明喜欢小红,就买了礼物给了小刚,让小刚把礼物代替自己送给小红 我们先来简单的画个图 代理接口 注释感觉写的蛮清楚的,我就不一一赘述了 测试 小红不认识真正送礼物的人,但是却收到了小明送的礼物 代理模式的应用场景; 一:远程代理,也就是为一个对象...原创 2019-01-26 15:01:26 · 142 阅读 · 0 评论 -
模板方法设计模式
模板方法设计模式 先来一个小案例来引出模板方法设计模式 计算String相加100000次的耗时 计算int相加100000次的耗时 int相加100000耗时2毫秒 String相加100000次耗时22692毫秒 我们发现这两段代码中以下部分是相同的 那么我们就把它提取出来,作为一个模板类,这样我们就不用去写那么多相同的代码了 那么我们修改后的代码可以是如下这样,这样具体的操作就可以交给...原创 2019-01-22 16:52:42 · 108 阅读 · 0 评论 -
单例模式
设计模式之单例模式 单例模式:通常我们可以让一个全局变量使得一个对象被访问,但它不能防止你实例化多个对象。一个最好的方法就是,让类自身负责保存它的唯一实例。这个类可以保证没有其他实例可以被创建,并且它可以提供一个访问该实例的方法。 --------参考于《大话设计模式》 通俗的来说,单例模式就是让构造器私有化,并且这个类只能有一个实例,还要提供一个方法可以得到这个实例对象。 1:饿汉式 饿汉从字面...原创 2019-01-23 12:30:09 · 245 阅读 · 0 评论 -
简单工厂模式
设计模式之简单工厂模式 简单工厂模式,顾名思义,就是应用在业务比较简单的情景下 我们用一个例子来引出这个模式 有一个顾客,要去买车,现在有Aodi,BMW两个牌子供他选择 此时顾客买车只需要new一下就ok了 但是我们发现了,此时的new,相当于创建,但是顾客买车仅仅只是告诉4S店,我要哪款车,创建车是4s店的事情,我只需要拿到车就可以了。 此时我们就要引入一个类,当做工厂类,去创建车 并且...原创 2019-01-23 14:37:14 · 139 阅读 · 0 评论