每天一个知识点:2017/9/9:简单工厂模式
来源:互联网 发布:巧克力哪一款好吃知乎 编辑:程序博客网 时间:2024/06/05 10:32
设计模式之简单工厂模式:
什么是简单工厂模式?
简单工厂模式抽象的讲就是现实中的工厂,当你需要买东西的时候不用自己去生产这个东西,只需要知道到那个工厂去,你就能得到这个东西,你不需要他是如何生产的,也不需要他的内部结构,只知道怎么获得就可以了。
那么在java中我们怎么实现工厂呢?
//接口
public interface Api {
vpid seyHello();
}
//实现
public class ApiImpl1 implements Api{
@Override
public vpid sey Hello(){
System.out.println("我是产品1");
}
}
//实现
...
System.out.println(“我是产品2”);
...
//工厂
public class ApiFactory{
private ApiFactory(){}
public static Api getApiImpl1(){
return new ApiImpl();
}
}
//客户端
public class Clien{
public static void main(String[] args{
ApiFactory.getApiImpl1().seyHello();
}
}
上面的办法就实现了一个简单工厂。
没有工厂的时候我们又是怎么做的呢?
我们是这样做的!
public class Clien{
public static void main(String[] args){
Api api=new ApiImpl();
api.seyHello();
}
}
想一想不用的患处是什么?
相当于客户端直接已经知道了实现的细节,而且还准确的知道了这个方法是用来干什么的,那么如果方法发生了改变,我们是不是还要修改客户端呢?
使用工厂创建我们需要的内容有3种:
1.通过客户端的选择来产生
2.通过配置文件的方式来产生
3.通过程序运行时来选择产生
什么时候用呢?
1.当想要对客户端进行完全封装隔离具体实现,让外部只能通过接口来调用封装体,可以选择使用简单工厂。
2.如果想要吧创建对象和管理对象集中起来控制的时候也可以使用简单工厂模式。
----------------------------------------------------------------------------------------------让我们一起学习,一起进步-----------------------------------------------------------------------------------------------------
- 每天一个知识点:2017/9/9:简单工厂模式
- 一个简单的工厂模式
- 一个简单的工厂模式
- 一个简单的工厂模式
- 每天一个设计模式: 抽象工厂模式(AbstractFactory)
- [每天一个知识点]9-Java语言-CharSequence是什么
- 每天一个小知识点9(jQuer总结三)
- 每天一个知识点(1)
- 一个java实现的简单工厂模式
- 简单的工厂模式+一个抽象接口
- 一个简单的工厂方法模式
- 一个简单的抽象工厂模式
- 利用简单工厂模式设计一个计算器
- 工厂模式-简单工厂
- 工厂模式-简单工厂
- 每天学习一个知识点,每天进步一点
- 设计模式系列(9)简单工厂模式
- 简单工厂模式——使用最简单的需求来完成一个简单工厂模式
- error: cannot use 'try' with exceptions disabled
- mongodb启动时,ERROR: child process failed, exited with error number 1
- 兼容ie8以上的一些问题总结
- JavaScript == 与 === 区别
- 五险一金查询相关
- 每天一个知识点:2017/9/9:简单工厂模式
- Fragment中onTouchEvent的实现
- 如何安装ionic
- 基于TCP的多人聊天工具
- Swift3.0 通知
- Activity处理返回结果
- js事件流
- HDU 1042 N!(高精度计算阶乘)
- 全面升级Android面试之webview面试题集