简单工厂模式java代码的实现
来源:互联网 发布:研究生人际关系知乎 编辑:程序博客网 时间:2024/04/30 23:40
简单工厂模式java代码的实现:
1.创建一个简单的玩具接口类
package www.weitao.simpleFactory;
/**
* @author 作者 weitao:
* @version 创建时间:2016-7-20 上午10:08:19
* 类说明
*/
public interface Toy {
public void makeToy();
}
2.实现一个玩具小汽车的类
package www.weitao.simpleFactory;
/**
* @author 作者 weitao:
* @version 创建时间:2016-7-20 上午10:10:09
* 类说明
*/
public class ToyCar implements Toy{
@Override
public void makeToy() {
// TODO Auto-generated method stub
System.out.println("this is toy car!");
}
}
3.实现一个玩具飞机的类
package www.weitao.simpleFactory;
/**
* @author 作者 weitao:
* @version 创建时间:2016-7-20 上午10:11:32
* 类说明
*/
public class ToyPlane implements Toy{
@Override
public void makeToy() {
// TODO Auto-generated method stub
System.out.println("this is toy plane!");
}
}
4.生成一个简单工厂
package www.weitao.simpleFactory;
/**
* @author 作者 weitao:
* @version 创建时间:2016-7-20 上午10:13:33
* 类说明
*/
public class ToyFactory {
public Toy toyProduct(String type){
if(type.equals("plane")){
return new ToyPlane();
}else if(type.equals("car")){
return new ToyCar();
}else{
System.out.println("输入错误");
return null;
}
}
}
5.编写测试类进行测试
package www.weitao.simpleFactory;
/**
* @author 作者 weitao:
* @version 创建时间:2016-7-20 上午10:20:54
* 类说明
*/
public class FactoryTest {
public static void main(String[] args) {
ToyFactory toyFactory = new ToyFactory();
toyFactory.toyProduct("plane").makeToy();
toyFactory.toyProduct("car").makeToy();
}
}
即完成了简单工厂方法的java代码编写
简单工厂模式的作用:
在简单工厂模式中,一个工厂类处于对产品类进行实例化的中心位置,它知道每一个产品类的细节,并决定适合哪一个产品应当被实例化.简单工厂模式的 优点是能够使客户端独立于产品的创建过程,并且在系统中引入新产品时,不必对客户端进行修改.缺点是当有新产品加入到系统的时候,必须修改工厂类,以加入必要的处理逻辑. 简单工厂模式的致命缺点就是处于核心地位的工厂类, 因为一旦它无法确定要对哪个类进行实例化,就无法使用该模式,而工厂方法模式则可以很好的解决这一问题,后面我们将继续介绍多个工厂模式
- 简单工厂模式java代码的实现
- 工厂模式的代码实现,简单易懂。
- 一个java实现的简单工厂模式
- Java实现简单的工厂模式
- 简单工厂模式的java实现例子
- 大话设计模式1 简单工厂模式 的java代码实现
- java实现简单工厂模式
- Java 实现简单工厂模式
- 简单工厂模式--java实现
- 工厂模式---java代码实现
- 简单工厂~工厂模式--Java实现
- 简单的工厂模式代码
- 软件设计模式之简单的工厂模式(JAVA实现)
- 简单工厂模式的实现
- 简单工厂模式的实现
- 简单的工厂模式实现
- 简单工厂(Simple Factory)模式的Java实现[00原创]
- java 枚举和反射 实现简单的工厂模式
- java.util.ConcurrentModificationException异常分析
- ios-Foundation框架
- 北极星电力网招聘 .NET开发工程师
- CASE WHEN ELSE END 用法
- 互联网软件架构 (ABC/S)
- 简单工厂模式java代码的实现
- 在VMware中安装CentOS minial作为远程主机
- Linux定时任务
- android 压缩图片
- MyBatis批量插入
- MySQL使用入门
- 多条件搜索
- 把eclipse的android libary库项目融入gradle项目中苦与乐
- Gradle sync failed: Gradle DSL method not found: 'compile()',Consult IDE log for more details