自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 白话设计模式_命令模式2:撤销、宏命令示例

       上篇介绍了命令模式的理论知识,这里再写两个小例子,加深理解。      1、撤销命令,关键在于命令执行的时侯保存这个命令对象,这就是把操作封装成对象的好处。 //这个不变 public class Light { public void off(){ System.out.println("off..."); } public void on...

2012-09-16 22:03:56 263

原创 白话设计模式_命令模式1

        先看例子: //灯:有开、关两个操作 public class Light { public void off(){ System.out.println("off..."); } public void on(){ System.out.println("on..."); } } //命令 public interface Command...

2012-09-16 16:21:55 198

原创 白话设计模式_工厂模式之抽象工厂模式

        工厂方法模式只是针对一种产品,虽有多个具体产品,但只有一个抽象产品类;而抽象工厂模式针对多个产品,它有多个抽象产品类,并且每个产品类有多个具体子类产品;抽象工厂模式能够灵活的实现"整套产品"的动态切换。      产品类: public interface Phone {} public interface Vehicle {} //每个抽象产品有两个具体产品子类 pu...

2012-09-10 23:20:51 173

原创 白话设计模式_工厂模式之工厂方法模式

        简单工厂虽然对产品生产提供了非常好的封装,但并没有遵循面向对象设计的”开放-关闭原则“,工厂方法模式可解决这个问题。          “开放-关闭原则”:对扩展开放、对修改关闭。什么意思呢?我的理解是:当我们要扩展新功能时,不需要修改原来的代码,简单的添加某个类、或继承某个抽象类、或实现某个接口就可以完成。          再看上篇中SimpleFactory这...

2012-09-10 23:20:37 231

原创 白话设计模式_工厂模式之简单工厂

         工厂模式,应该是应用最为广泛、最为重要的设计模式,它里面包括三种:简单工厂(不包括在23种经典的模式中)、工厂方法模式以及抽象工厂模式,由前往后抽象程度越来越高。           先介绍下简单工厂。            编码过程中,我们新手经常会写这样的代码: //other code... //输出设备 OutPut output = null; if(n...

2012-09-10 23:20:22 198

白话设计模式_单例模式

       单例模式,最简单的模式,即保证某个类在整个运行过程中仅仅只有一个实例。          私有化构造函数,防止外界随意new一个对象。        那么如何创建实例呢?没有实例导致我们无法操作实例方法,但我们有static静态方法,不需要实例而是直接通过类名就可以调用。 public class Singleton { private static Singleto...

2012-09-06 22:26:13 150

白话设计模式_装饰者模式

  装饰者模式,见名知意。装饰装饰,何为装饰,无非就是在某个东西上外面再套一层东西,装饰者模式大概就是这样的。      比如现在有一个类A,我们想为它增加一些新的功能,但又不想修改它原来的代码,怎么办?直接的想法是继承,但继承灵活性并不好,推荐多用组合,少用继承。     应用组合:新建一个类B(装饰者),把A(被装饰者)组合到B中,就可以让B行使A的职能,但应该注意两点:   一、A...

2012-09-06 17:04:28 159

原创 白话设计模式_策略模式

策略模式,顾名思意,针对不同的要求采用不同的策略处理问题。   实际的“策略”通常都是算法簇,处理同一个问题或者执行同一动作可能有多种策略,而这些策略之间的切换如果以硬编码的方式写在代码中,则相当丑陋,策略模式提供了策略切换的一个动态的机制,即可以运行时指定。   比如,现在有一个关于鸭子系统,有一个抽象父类Duck, 里面声明了几个鸭子的动作,如 叫、飞、游泳、展示(...

2012-09-05 23:22:13 186

原创 白话设计模式_观察者模式

        好久没搞java了,要找工作了,复习下设计模式~~        观察者模式:描述的是一对多的关系,当”一”的状态发生变化时,会通知”多”的一端,前提是”多”个对象必须事先注册到”一”的对象上,让“一”知道它们的存在。        举个形象的例子:我们平时订阅杂志,每个订阅者(即观察者)必须到杂志社注册个人信息,杂志社为了在日后能够顺利分发杂志,此时必须保存每个订阅者的信...

2012-09-05 22:24:56 207

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除