
设计模式
杨殿生
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
单例模式
原文地址 https://www.jianshu.com/p/9f88630d9667 这可能是我们遇上的最简单的模式了,不过他真的简单么?面试的时候如果真的细问你,你可能真的会被问的哑口无言。什么你不信,那我们来一起思考一下下面几个问题1,单例模式定义2,写一下你知道的所有单例模式3,写一个饿汉式单例模式4,写一个懒汉式单例模式5,写出你知道的能保证线程安全的单例模式,以及说一...原创 2019-01-10 17:27:40 · 252 阅读 · 0 评论 -
策略模式
原文地址:https://www.jianshu.com/p/b2ab047ea687定义一组算法,将算法都封装起来,并且是他们之间可以互换的简单的说就是把方法封装在方法中,调用不同对象的相同方法实现的算法是不同的类图如下 策略模式类图Strategy是策略的抽象类ConcreteStrategy是策略的具体实现类Context是策略的管理类假设一种场景我们可以用...原创 2019-01-22 14:36:42 · 295 阅读 · 0 评论 -
原型模式
原文地址:https://www.jianshu.com/p/47297cc49919原型模式就是通过原型创建多个对象,简单来说就是通过一个对象去复制多个对象类图如下 原型模式类图 需要实现Cloneable接口,复写clone()方法具体代码如下public class Mail implements Cloneable{ private String ...原创 2019-01-16 15:44:59 · 175 阅读 · 0 评论 -
动态代理
原文地址:https://www.jianshu.com/p/46d5c64e0459代理代理,就是找个人代替你做你该做的事,分为静态代理和动态代理,一个一个说准备工作我们先假设一种场景,打游戏,我们创建一个游戏人物去打游戏,让一个代理帮我们打游戏1,建立一个游戏人物的抽象类public interface GamePlayer { void login(String ...原创 2019-01-16 14:44:54 · 164 阅读 · 0 评论 -
装饰者模式
原文地址:https://www.jianshu.com/p/2fe021a2a9df为现有的类增加功能,是继承的一种替代方式类图如下 装饰者模式类图假设一个场景我们在学校要考试,然后要给家长签字,说分数之前你要先汇报一下班级最好成绩,然后说出你的分数之后,在说出你在班级的排名1,建立一个抽象的报告接口public interface SchoolReport {...原创 2019-01-21 22:46:17 · 235 阅读 · 0 评论 -
责任链模式
原文地址:https://www.jianshu.com/p/86c531761d05责任链模式重在一个链上,处理一件事要经过层层审批才能执行,或者在我请求某件事之前要有很多对象需要给我的请求添加更多参数类图如下 责任链模式类图假设一种场景,古代妇女的地位比较低,做什么事情都要请求男人,也就是父亲,丈夫,儿子其中有一个处理了这个请求才能去做1,妇女的抽象类public...原创 2019-01-21 22:45:27 · 264 阅读 · 0 评论 -
建造者模式
原文地址:https://www.jianshu.com/p/91c650a590e31,建造者模式是一个创建对象的模式2,与工厂模式很像,建造者模式主要思考的方向是零件的顺序不同创建对象不同,工厂方法不会关注创建零件时的顺序3,建造者模式经常和模板方法一起使用看一下类图 建造者模式类图 1,需要有产品的抽象类定义产品生成规则2,产品实现类实现产品具体行为(这里就...原创 2019-01-15 14:47:16 · 190 阅读 · 0 评论 -
模板方法模式
原味地址:https://www.jianshu.com/p/5aa0b7f5815e首先来看一下类图 模板方法模式类图 原理就是,通过抽象的父类来控制子类的行为,具体的行为由子类定义1,定义一个抽象的父类将公共执行部分抽取到父类中public abstract class AbstractClass { //基本方法 protected abstr...原创 2019-01-15 11:27:16 · 279 阅读 · 0 评论 -
抽象工厂
原文地址 https://www.jianshu.com/p/38c99d5e11a3先来看一下抽象工厂的类图 抽象工厂类图 这里抽象工厂和工厂模式很相似,抽象工厂是产生产品族的,产品族就是一系列产品比如我们之前说创建人,人分黑种人,黄种人,白种人,那现在我在加入一个性别,我需要如何设计呢,这就需要抽象工厂模式了1,人类的接口public interface Hu...原创 2019-01-14 14:15:31 · 214 阅读 · 0 评论 -
工厂模式
原文地址 https://www.jianshu.com/p/ec991512f83b生产对象的一种模式,通过增加一个工厂类使创建产品的时候延迟到子类工厂模式是理解依赖倒置的法宝,依赖倒置1,高层组件不依赖底层组件2,他们都依赖于抽象工厂模式里的工厂是高级组件,产品是低级组件,要想建立产品你就需要实现工厂的产品接口,也就是高层组件不依赖底层组件工厂类和产品类都是依赖,抽象工...原创 2019-01-14 11:17:01 · 244 阅读 · 0 评论 -
命令模式
原文地址:https://www.jianshu.com/p/95690a7e549b命名、命令就是我下一个命令你就要来执行,我不关心谁来实现的,我只关心我的命令执没执行。命令模式就是将命令和执行封装在一起,并且高层组件是接触不到底层组件的,实现了调用者和执行者解耦合看一下类图 命令模式类图Command:定义了命令的抽象ConcreteCommand:是具体的命令实现类...原创 2019-01-17 18:25:51 · 208 阅读 · 0 评论 -
中介模式
原文地址:https://www.jianshu.com/p/298ef103b484中介模式是用来解决多个对象显示相互调用造成的耦合,使用一个中介来使耦合松散,减少类之间的依赖看一下类图 中介模式类图联系一个场景。角色有采购,销售,和库房。采购在采购的时候要依赖销售的状态,销售在销售的时候要依据库房的库存,并且销售后要修改库存。清空库存时要让采购停止采购,销售打折销售...原创 2019-01-17 14:53:12 · 379 阅读 · 0 评论 -
适配器模式
原文地址:https://www.jianshu.com/p/fd417a917ed4适配器模式就是把一个类或接口转换成其他的接口或类类图如下 适配器模式类图适配器模式分成两种一种是类适配,通过继承的方式,一种是对象适配,通过组合的方式类适配假设我们现在有自己的一个运行系统,由用户信息接口public interface UserInfo { Stri...原创 2019-01-22 15:50:48 · 423 阅读 · 0 评论