
设计模式
hwb1992
这个作者很懒,什么都没留下…
展开
-
设计模式之二 简单工厂
最近这几天把之前学到的设计模式写个总结,现在先写个简单工厂模式 先看下UML图吧 从UML图中我们可以看出,PhoneFactory调用getPhone方法去产生对应的Phone对象 然我们看看代码吧 package edu.fjnu.cs.hwb.esayfactory; //定义个Phone接口 public interface Phone { void call(); }原创 2014-03-31 22:58:12 · 1224 阅读 · 0 评论 -
设计模式之十一 命令模式
大家好,好久没写博文了,今天写写命令模式. 什么叫做命令模式呢?看下百度百科的定义吧.. 在软件系统中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”。但在某些场合,比如要对行为进行“记录、撤销/重做、事务”等处理,这种无法抵御变化的紧耦合是不合适的。在这种情况下,如何将“行为请求者”与“行为实现者”解耦?将一组行为抽象为对象,实现二者之间的松耦合。这就是命令模式(Command Pat原创 2014-05-11 16:04:25 · 837 阅读 · 0 评论 -
设计模式之十 适配器模式
大家好,今天让我扯扯适配器模式吧 我们先看看适配器的概念: 百度百科上的介绍 适配器就是一个接口转化器,它可以是一个独立的硬件接口设备,允许硬件或电子接口与其它硬件或电子接口相连,也可以是信息接口. 那么从这个概念我们可以看出,适配器就是一个用来转化的东西。 比如说,中国电压标准是220V。而我们的电脑电源电压一般是19V(我的电脑是是20V).很明显,220V的电压给19V的电源,如果不原创 2014-04-25 19:48:25 · 898 阅读 · 0 评论 -
设计模式之八 建造者模式
大家好。今天晚上让我扯扯建造者模式.. 什么是建造者模式呢?简单来说,一个对象往往是由很多部件组成的,而且这些部件的组成也有某些关系。那么怎么才能正确的产生对象呢?就用建造者模式了。 好比我们在KFC点了套餐,每份套餐都是由不同的东西组成的,比如饮料,主食之类的.我们可以通过创建者模式来模拟KFC点餐的效果。 按照惯例,我们要先看一下建造者模式的概念 建造者模式:将一个复杂对象的构造与它的原创 2014-04-08 23:14:09 · 1094 阅读 · 0 评论 -
设计模式之七 装饰者模式
Hello...晚上让我讲讲装饰者模式吧.. 装饰者模式,顾名思义,就是装饰.打个粗俗的比方,就是穿衣服...你穿了一件风衣,也穿了一件羊毛衫,通过这2个东西来装饰你自己... 首先来个理论吧. 装饰模式又叫做包装模式,可以以对客户端透明的方式扩展对象的功能,即客户端并不会觉得对象在装饰前和装饰后有什么不同。 在装饰模式中的角色有: 抽象构件角色:给出一个抽象接口,以规范准备接收附加责任原创 2014-04-07 19:43:19 · 760 阅读 · 0 评论 -
设计模式之六 策略模式
大家好,今天早上让我扯扯策略模式吧。 首先,大家都知道,程序员最讨厌的,但是又必须接受的事实就是 需求一直在变化!!!那么于是就要写出容易维护的,可扩展的代码,对吧? 让我们来看下一个背景。 假设你要写一个人类(Class),它有一个go()的方法,但是 它有的时候乘车,有的时候巴士,有的时候坐飞机,有的时候坐游艇....那么怎么应对所有的情况呢?你说“根据在go方法里面写一堆代码啊”,那么原创 2014-04-05 10:36:04 · 847 阅读 · 0 评论 -
设计模式之五 观察者模式
大家好,今天晚上让我随便扯扯观察者模式吧.. 我就说说我的理解,不一定对,如果有错误,希望大家可以指正出来!谢谢。 先看看定义吧: 观察者模式是对象的行为模式,又叫发布-订阅模式,源-监听器模式等。观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,这个主体对象在状态上发生变化的时候,会通知所有观察者对象,使它们能够自动更新自己。 还要说说一些概念: 抽象主题角原创 2014-04-03 22:12:17 · 806 阅读 · 0 评论 -
设计模式之九 单例模式
大家好,几天没写设计模式的博文了,现在让我扯扯单例模式。 什么是单例模式呢?顾名思义,就是一个实例。那么我们为什么需要一个实例呢?或者说什么情况下需要一个实例呢? 比如说:当我们对系统的注册表进行管理的时候,我们就希望只有一个注册表对象。这时候就是用单例模式来做 先来看看定义: 单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点 那么,how? 我们知道,创建一个类一定要有原创 2014-04-17 23:35:04 · 874 阅读 · 0 评论 -
设计模式之四 抽象工厂模式
大家好,现在咱们来讨论一下抽象工厂模式吧。还是以我之前给的例子(详情可以看之前的简单工厂)但是现在要做出一点假设: 假设 苹果公司和小米公司都有生产 Phone,MP3之类的...(纯粹是为了方便说明) 好了,现在说说产品等级结构和产品族的概念 所谓的产品等级结构:就是指某一类产品的继承结构,比如说电话,它包括IPhone电话和XiaoMi电话,他们就是属于同一个产品等级结构 所谓的产原创 2014-04-01 23:33:53 · 936 阅读 · 0 评论 -
设计模式之三 工厂模式
大家好,今天介绍一下工厂模式。首先,我们知道简单工厂模式的缺点,那就是它是写死的,拿我上个写得例子来说 简单工厂 如果要扩展的话,则要修改源代码,这样如果以后产生的Phone类型很多,那么就要一直修改,代码维护成本高(如果万一你哪个类型写错了怎么办) 所以出现了工厂模式。 工厂模式简单来说就是一个工厂对应一个产品。比如说IPhoneFactory产生IPhone系列的手机,XiaoMi原创 2014-04-01 11:14:44 · 957 阅读 · 0 评论 -
设计模式之— 代理模式
昨天学习了一下代理模式,现在总结一下: 什么叫做代理模式呢?打个简单的比方说:果农种苹果,但是他不自己卖苹果,他让专门的水果销售商来帮他卖苹果。 我也看过一个比较通俗的比方:三国演义大家都看过吧,至少也听过吧。那么,曹操可以说是BOSS吧,但是他没有谋朝篡位,而是通过汉天子的名义征讨四方。在这里,曹操就是被代理的人,而汉天子就是他的代理商。通过汉天子发出口号,但是实际上还是曹操自己的主意。原创 2014-03-05 13:14:51 · 880 阅读 · 0 评论