简单工厂模式
客户端提供一个条件给工厂,工厂根据条件返回客户端需要的对象。Calc add=CalcFactory.createCalc("add");
calc.calc(2,5);
Calc reduce=CalcFactory.createCalc("add");
calc.calc(6,5);
根据客户端传入的参数,生成不同的对象,调用对象的方法。
策略模式
客户端提供一个对象策略给Context环境类,Context根据策略调用方法。Context context=new context(new Add());
context.calc(2,5);
Context context=new context(new Reduce());
context.calc(6,5);
根据客户端传入的对象,实施不同的策略,调用方法。与简单工厂模式的不同在简单工厂根据参数暴露了对象给客户端,策略模式根据策略暴露具体的方法,但是要求客户知道策略的名称,可与与工厂模式一起使用。
单例模式
单例模式即,对某个类来说,其实例化对象有且仅有一个,并只提供一个创建它的方式。
对于单例模式的写法很多,概述为
- 懒汉单例模式
- 饿汉单例模式
- 双重校验锁
- 静态内部类
- 枚举
适配器模式
当开发后期,两个功能相似的接口因为都不太容易改,或当调用别人类似功能的接口时,通过适配器模式返回客户端一致的接口。比如两个接口分别是:
void SayChinese();
void SayEnglish();
那么创建一个适配器Translator翻译 实现sayChinese接口
private English english;
public Translator (English english){
this.english=english;
}
public void sayChinese(){
english.sayEnglish();
}
最后的实现效果即为:
People a = new Chinese();
Translator b = new Translator b(new English());
a.sayChinese();
b.sayChinese();
通俗的说就是把sayEnglish让适配器以sayChinese的形式展示给客户端。
详解:http://blog.csdn.net/qq_35381896/article/details/78818929