设计模式概述-持续更新

简单工厂模式

客户端提供一个条件给工厂,工厂根据条件返回客户端需要的对象。
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



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值