Fork me on GitHub
摘要: 学习更多设计模式请参考:入门设计模式之汇总篇 桥梁模式:将抽象化与实现化脱藕,使二者可以独立的变化 大家应该对日志记录比较熟悉,不知道有没有自己写过一个日志处理的程序,你又是如何实现的呢? 今天的桥梁模式就根据一下需求来分析一下: 大家可以看一下这个需求哈,2个以上,那我就实现2个呗,一般人可能都会 阅读全文
posted @ 2018-06-30 23:08 石玉军 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 学习更多设计模式请参考:入门设计模式之汇总篇 外观模式:外部系统与子系统的通信必须通过一个统一的对象进行 举个例子,现在结婚是不是都找婚庆公司啊,为什么呢?因为如果不找婚庆公司自己筹备的话,我们可能得自己跑去订酒店,自己去找主持人,自己去找摄像,自己去找车队。是不是太麻烦了点,而有了婚庆公司就不一样 阅读全文
posted @ 2018-06-30 23:08 石玉军 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 学习更多设计模式请参考:入门设计模式之汇总篇 策略模式:使算法在不影响客户端的情况下发生变化。 例如某宝上的一件商品,有时候8折并返现3元、有时候7折返现1元、有时候9折不返现、有时候不打折返现2元等等,我们可以看到这个商品不同时刻要计算利润或者什么的时候是不一样的,现在就可以用到策略模式了。 代码 阅读全文
posted @ 2018-06-30 23:07 石玉军 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 学习更多设计模式请参考:入门设计模式之汇总篇 观察者模式:多个观察者对象同时观察一个主题对象,当这个主题对象发生变化时,会通知所有的观察者 来看一下下方类图 Subject:主题类,所有主题的父类,负责对观察者的管理,有添加观察者,删除观察者,通知所有的方法 SubjectImpl:主题子类,拥有状 阅读全文
posted @ 2018-06-30 23:06 石玉军 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 学习更多设计模式请参考:入门设计模式之汇总篇 模板方法:在一个抽象类中定义一部分的实现,其余的定义抽象方法迫使子类实现 相信看了上方的定义以后大家已经理解了模板模式,我们来看一下类图 抽象类定义了4个方法,其中operation是私有的,在这个方法里调用了其他三个方法,而方法3是自己实现的。方法1和 阅读全文
posted @ 2018-06-30 23:06 石玉军 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 学习更多设计模式请参考:入门设计模式之汇总篇 引言:通过给出一个原型对象来指明所创建的对象的类型,然后复制这个原型对象来创作同类型的对象 Java中使用原型模式必须要满足的条件如下: 1.对于任何对象都有x.clone()!=x 。(也就是说克隆的对象和原先的对象不是一个对象) 2.x.clone( 阅读全文
posted @ 2018-06-30 23:05 石玉军 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 学习更多设计模式请参考:入门设计模式之汇总篇 简单工厂: 入门级的设计模式之一,也是学习工厂模式的的基础。 需求:假如我们需要去相亲,介绍人跟你说了,我这次给你找了很多个小姑娘,随便挑哦。 听到这句话你就好奇了,哎呦,你好厉害呀,怎么做到的呢,下面我们就来看看介绍人是怎么做到吧。 注:不熟悉UML的 阅读全文
posted @ 2018-06-30 23:05 石玉军 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 很多初次接触UML的朋友们可能会感觉它各种各样的线条、关系、描述等晦涩难懂。本篇文章简单介绍了一下其中几个图,用最朴实的语言结合上图片来让你一眼就能理解他们,如果您在阅读的过程种发现错误之处恳请您在评论区指点。 1.类图、对象图、接口 这三种图是uml中最简单的图了,我想看了下方三张图片你就明白了: 阅读全文
posted @ 2018-06-30 23:04 石玉军 阅读(384) 评论(0) 推荐(0) 编辑
摘要: 学习更多设计模式请参考:入门设计模式之汇总篇 引言:建造者模式可以将一个产品的内部表象与产品的生成过程分割开来,从而利用一个建筑过程生成具有不同内部表象的对象。 初次读来这句话可能晦涩难懂,待我们一点点的来剖析它,解开他的神秘面纱。先看下图: Builder:抽象建造者,给出了建造接口,这里我们以造 阅读全文
posted @ 2018-06-30 23:04 石玉军 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 学习更多设计模式请参考:入门设计模式之汇总篇 了解单例模式之前我们先来了解一下单例模式的三个要点: 1.一个类只能有一个实例(就是只需要new一次呗) 2.它必须自行创建这个实例(就是构造方法不对外暴露呗) 3.它必须向整个系统提供这个实例(就是获取实例的方法是静态的呗) 其实通过分析上方三个要点我 阅读全文
posted @ 2018-06-30 23:03 石玉军 阅读(205) 评论(0) 推荐(0) 编辑