
设计模式
LightEggPlant
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
设计模式——简单工厂模式
从现实入手 我想养一些小动物,把他们圈养在一起看着他们长大,我选择猫,狗,羊,鸡这四种动物。一般思想,无非建立4个动物类,实例化即可,如下:class Dog{ public void shout(){ System.out.prinltn("dog shout"); }}class Cat{ public void shout(){原创 2015-03-06 13:12:45 · 1025 阅读 · 0 评论 -
设计模式——工厂模式
从现实入手还记得前面讲到过的简单工厂模式吗? 在客户端(main中)的时候仍然需要用到AnimalFactory.getAnimale(0) 来对动物种类进行选择,则当新增加动物种类的时候,不得不在原工厂类AnimalFactory 中进行代码的改动,这相当于在后台进行改 动。 现在我们要解决的就是去掉Factory中的switch语句和任何判断的逻辑,仅仅利用继承或者多态在客户端实现对动物的原创 2015-03-06 13:10:55 · 1165 阅读 · 0 评论 -
设计模式——观察者模式
场景设置 我班同学订阅了一些杂志,有杂质A,杂质B,订阅的同学有Ghost,Guang 现在每当杂质更新的时候就要向订阅了该杂志的同学发出通知以提醒他们。实现该逻辑的代码。首先定义接口,我们需要一个Magzine接口和Observer接口。 用来赋予杂质和观察者应有的行为。interface Observer{ public void update();}abstract原创 2015-03-07 12:49:09 · 844 阅读 · 0 评论 -
设计模式——装饰模式
从现实入手 我早上起床,光着身子。这时我要穿衣服,先穿裤子再穿上衣。 我该怎么实现这个过程呢?首先我是一个赤裸裸的人,并且我能被别人看到:class Person { protected String name; protected String body; public void show(){ System.out.println("身体");原创 2015-03-06 21:17:54 · 827 阅读 · 0 评论 -
设计模式——策略模式
场景设置 设计一个计算器,有+、-、*、/。策略模式的主要思想在于,将所有的可供选择的算法封装,通过一个统一的容器传入予以调用。比如: 我有一个计算用的接口,往里面插入计算器,计算器中有加法器、减法器等等,这些就是策略,我把策略包装好,放入计算器进行调用,计算器再插入接口即可。 因此基于该模式的代码应如下: 计算接口:interface Operation{ public in原创 2015-03-06 13:10:21 · 666 阅读 · 0 评论 -
设计模式——适配器模式
场景设置 Ghost只会说英文,但是现在要跟我用中文交谈,因此他需要随身携带一个翻译,通过翻译才能与我进行有效沟通。明确上述要求中的一点:即Ghost说话的方法为英文,而我接收的方法为中文,因此我们之间必须有个能转化英文为中文的接口,这就是适配器的概念。 首先我们定义EnglishSpeaker和ChineseSpeaker接口:interface EnglishSpeaker{ p原创 2015-03-08 14:11:51 · 807 阅读 · 0 评论 -
设计模式——代理模式
场景设置 Boy 有一束鲜花要送给 Girl,但是又不好意思送,因此寻找Proxy将鲜花转交给Girl。首先定义鲜花持有者接口,实现该接口的类都具有送花的能力:interface FlowerKeeper{ public void sendFlower();}然后定义Boy类,能够拥有鲜花并且有送鲜花的能力(只是不亲自送而已):class Boy implements FlowerK原创 2015-03-08 11:54:25 · 979 阅读 · 0 评论 -
工厂方法——Factory Method
工厂方法是一个能够返回实例对象的静态方法,a原创 2014-08-24 15:21:41 · 638 阅读 · 0 评论 -
设计模式——单例模式
单例模式是一种常用的设计模式。在JVM中,该模式能够保证该对象只有一个实例存在。好处:1.某些类创建频繁,对于大型系统是很大一笔开销。2.某些类只允许一个对象存在,相同的对象多于一个会引起系统混乱。3.去掉new,降低内存使用频率,减轻GC压力。往往很多时候用到单例模式会简简单单写几行类似于如下的代码了事:public class Singleton { private static Sin原创 2015-03-08 13:24:49 · 740 阅读 · 0 评论