- 博客(18)
- 资源 (1)
- 收藏
- 关注
转载 设计原则
一、单一职责原则:应该有且仅有一个原因引起类的变更。该原则的好处为:1.类的复杂性降低,实现什么职责都有清晰明确的定义;2.可读性提高,复杂性降低,那当然可读性提高了;3.可维护性提高,可读性提高,那当然更容易维护了;4.变更引起的风险降低,变更是必不可少的,接口的单一职责做的好的话,一个接口修改只对相应的实现类有影响,与其他的接口无影响,这个是对项目有非常大的帮助。对于接
2013-02-19 16:06:45 316
转载 中介者模式
中介者模式有以下几部分组成:抽象中介者(Mediator)角色:抽象中介者角色定义统一的接口用于各同事角色之间的通信。具体中介者(Concrete Mediator)角色:具体中介者角色通过协调各同事角色实现协作行为,因此它必须依赖于各个同事角色。同事(Colleague)角色:每一个同事角色都知道中介者角色,而且与其他的同事角色通信的时候,一定要通过中介者角色协作。每个同事类的行为分
2013-02-19 09:37:08 290
转载 原型模式
这个模式的核心是一个clone 方法,通过这个方法进行对象的拷贝,Java 提供了一个Cloneable 接口来标示这个对象是可拷贝的,为什么说是“标示”呢?翻开JDK 的帮助看看Cloneable 是一个方法都没有的,这个接口只是一个标记作用,在JVM 中具有这个标记的对象才有可能被拷贝,那怎么才能从“有可能被拷贝”转换为“可以被拷贝”呢?方法是覆盖clone()方法(Object类的方法)。
2013-02-19 09:15:35 294
转载 访问者模式
package com.test.design.visitor;public abstract class Employee { private String name; private int salary; private String hoby; public String getName() { return name; } public void
2013-01-25 10:45:35 225
转载 责任链模式
package com.test.design.chain;public abstract class Handler { private int type = 0; private Handler next; public Handler(int type){ this.type = type; } public void setNext(Han
2013-01-25 10:06:52 216
转载 组合模式
组合模式的几个角色:抽象构件角色(Component):定义参加组合的对象的共有方法和属性,可以定义一些默认的行为或属性;比如我们例子中的getInfo 就封装到了抽象类中。叶子构件(Leaf):叶子对象,其下再也没有其他的分支。树枝构件(Composite):树枝对象,它的作用是组合树枝节点和叶子节点;组合模式有两种模式,透明模式和安全模式。透明模式:
2013-01-22 10:13:55 333
转载 装饰模式
package com.test.design.decorator;public abstract class Component { public abstract void operate();} package com.test.design.decorator;public class BaseComponent extends Componen
2013-01-17 15:36:50 234
转载 桥梁模式
package com.test.design.bridge;public abstract class Task { //任务需求 public abstract void requirement(); //任务进度 public abstract void progress();}package com.test.design.bridge;
2013-01-17 14:41:25 206
转载 建造者模式
package com.test.design.builder;import java.util.ArrayList;public abstract class CarModel { private ArrayList sequence = new ArrayList(); //protected 对外不用暴露那么多方法 protected abstract
2013-01-16 16:43:55 202
转载 模板模式
package com.test.design.template;public abstract class CarModel { //protected 对外不用暴露那么多方法 protected abstract void start(); protected abstract void stop(); protected abstract void e
2013-01-16 15:32:59 246
转载 适配器模式(类适配)
package com.test.design.adapter;public interface IUserInfo { public String getUserName(); public String getMobileNumber(); public String getHomeAddress(); public String getHomeT
2013-01-16 10:10:44 251
转载 门面模式
package com.test.design.facade;public interface ILetterProcess { public void writeContext(String context); public void fillEnvelope(String address); public void sendLetter();}
2013-01-16 09:09:14 253
转载 工厂模式
package com.test.design.factory;public interface IWork { public void howToDo(); public void doing();}package com.test.design.factory;public class Farmer implements IWork { @
2013-01-15 16:15:51 227
转载 多例模式
package com.test.design.multition;import java.util.ArrayList;import java.util.Random;public class Multition { private static int maxNum = 2; // 多例模式中的上限 private static ArrayList multit
2013-01-15 15:37:23 210
转载 单例模式
package com.test.design.singleton;public class Singleton { private static Singleton instance = new Singleton(); private Singleton(){ } public synchronized static Singleton getI
2013-01-15 15:24:02 169
转载 代理模式
package com.test.design.proxy;//代理接口,包含了被代理类所能处理的事情public interface IProxy { public void doWork(); public void doHappy();}package com.test.design.proxy;//代理类 (同被代理类实现同一接口,这样就知道了
2013-01-15 15:13:50 227
转载 策略模式
策略接口:package com.test.design.stategy;public interface IStrategy { //各种策略 public void operate();}各种策略:package com.test.design.stategy;public class First implements IStrategy {
2013-01-15 14:08:47 165
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人