
设计模式
Alemand
这个作者很懒,什么都没留下…
展开
-
设计模式---代理模式
问题的抛出:上大学的时候,一到星期天就躺在床上动也不想动,要不是饿得话连吃饭也可以不吃,有什么办法可以让我们在宿舍躺在床上就可以吃饭呢?我上大学的时候是这样干的,点个外卖让让在地下的舍友去取一下,这个舍友就是一个代理定义:为其他对象提供一种代理以控制对这个对象的访问结构组成:Subject接口:定义了RealSubject和Proxy的公用接口这样在任何使用RealSubject的地方都可以使用P...原创 2018-02-09 19:41:25 · 252 阅读 · 0 评论 -
设计模式---外观模式
问题的抛出:你组装了一套杀手级的系统用来看电影,内含DVD播放器、投影机、自动屏幕、环绕立体声等.每一次你看电影德1时候都要先经历下面一段痛苦的过程1.将灯光调俺2.放下屏幕3.打开投影机4.将投影的输入切换到DVD......,当你弄完了看电影的热情也就没有了,那么有没有什么可以让我看电影的时候按一下按钮就可以了呢?当然有啊!你可以弄一个遥控啊,这个遥控有个按钮,一按就可以,这个遥控就的操做就那原创 2018-02-05 18:58:59 · 277 阅读 · 0 评论 -
设计模式---装饰者模式
问题的抛出现在有一个人叫小明,小明会唱歌,我想再让小明会弹钢琴怎么办呢,再让他...,如果用继承的话,你会不停的去加类.现在有一种模式就可以解决这个问题.可以灵活的添加职责的装饰者模式装饰者模式的定义动态的给一个对象添加一些额外的职责.就增加功能来说,装饰者模式比生成子类更为灵活.结构Component:定义一个对象的接口,可以给这些对象动态的添加职责ConcreteCom原创 2018-01-28 14:44:08 · 297 阅读 · 0 评论 -
设计模式---适配器模式
问题提出假设已有一个软件系统,你希望它能和一个新的厂商类库搭配使用,但是这个新厂商所设计出来的接口不同于旧厂商的接口你不想改变现有的代码解决这个问题,所以应该怎么做的.这个你可以写一个类将新厂商接口转接成你所期望的接口.新编写的类就是一个适配器,这个适配器就相当于是中间人,它将客户所发的请求转化成厂商能理解的去请求.适配器模式的定义:将一个类的的接口,转换成客户期望的另一个接口原创 2018-01-24 16:47:37 · 329 阅读 · 0 评论 -
设计模式---工厂设计模式之抽象工厂模式
工厂模式是用来创建产品的,工厂方法模式是用来创建一种产品的,但有时我们会创建一组产品.这就需要用抽象工厂.在抽象中有两个概念需要了解产品族和产品等级结构产品等级结构:产品的等级结构也就是产品的继承结构.(也就是说是子父类之间的关系,就比如说你有一个抽象类,子类继承这个抽象类那么子类和抽象类之间就构成了产品等级结构)纵向看产品族:在抽象工厂模式中,由同一个工厂生产的,位于不同等级结构中的一组原创 2018-01-20 10:39:35 · 289 阅读 · 0 评论 -
设计模式---工厂设计模式之工厂方法模式
工厂设计模式在一些阅读源码的时候会经常遇到.他可以是创建复杂对象的代码具有复用性,同时还可以是实现解耦.是一个非常有用的设计模式.工厂设计模式主要分为两种一工厂方法模式和抽象工厂模式,至于简单工厂方法在一书中被称为是一种编码习惯.在这里我就将我看到的一些工厂方法模式做一个总结.工厂方法模式定义:定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个.工厂发法让类的实例化推迟到子类.我的理解原创 2018-01-11 11:33:13 · 317 阅读 · 0 评论 -
设计模式----单例设计模式
单例设计模式:看名字就可以大体的理解单例设计模式是什么了,它是用来创建独一无二的对象的,是能有一个实例的对象的模式.(我的理解是在整个内存中只能存在一个该实例对象)单例模式在常用的有种实现方式一.懒汉式 二.饿汉式他们的特点就是构造私有并提供获得该实例的方法从而获得该实例 一,饿汉式饿汉式可以理解为非常的迫切在你没有用该对象的时候就已经实例化了具体代码如下./** * <...原创 2018-01-10 11:50:28 · 318 阅读 · 0 评论