博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计模式-简单工厂模式(Simple Factory)
阅读量:7229 次
发布时间:2019-06-29

本文共 1220 字,大约阅读时间需要 4 分钟。

  hot3.png

分为:一个抽象类(或接口)、实现抽象类、工厂类

Product.java

 
1 package cn.foxeye.design.simple.factory; 2 3 public interface Product { 4 5 void operation(); 6 7 } 8

 

Product1.java

 
1 package cn.foxeye.design.simple.factory; 2 3 public class Product1 implements Product { 4 5 @Override 6 public void operation() { 7 System.out.println( " 产品1执行操作 " ); 8 } 9 10 } 11

 

Product2.java

 
1 package cn.foxeye.design.simple.factory; 2 3 public class Product2 implements Product { 4 5 @Override 6 public void operation() { 7 System.out.println( " 产品2执行操作 " ); 8 } 9 10 } 11

 

ProductFactory.java

 
1 package cn.foxeye.design.simple.factory; 2 3 public class ProductFactory { 4 5 public static Product createProduct(String productName) { 6 if ( " 1 " .equals(productName)) { 7 return new Product1(); 8 } else if ( " 2 " .equals(productName)) { 9 return new Product2(); 10 } 11 12 return null ; 13 14 } 15 16 } 17

Main.java

 
1 package cn.foxeye.design.simple.factory; 2 3 public class Main { 4 5 public static void main(String[] args) { 6 Product product1 = ProductFactory.createProduct( " 1 " ); 7 product1.operation(); 8 Product product2 = ProductFactory.createProduct( " 2 " ); 9 product2.operation(); 10 } 11 12 } 13

转载于:https://my.oschina.net/foxeye/blog/143049

你可能感兴趣的文章
Android电量优化
查看>>
[爬虫手记] 我是如何在3分钟内开发完一个爬虫的
查看>>
【译】Css Grid VS Flexbox: 实践比较
查看>>
iOS 开发知识索引
查看>>
Linux iptables命令
查看>>
webpack的使用
查看>>
干货 | 基于Go SDK操作京东云对象存储OSS的入门指南
查看>>
D3.js入门
查看>>
一次和前端的相互甩锅的问题记录
查看>>
纯OC实现iOS DLNA投屏功能了解一下
查看>>
RxJava -- fromArray 和 Just 以及 interval
查看>>
LC #75 JS
查看>>
js正则验证代码库
查看>>
常见面试题—css实现垂直水平居中
查看>>
lc682. Baseball Game
查看>>
重学前端-css选择器
查看>>
iOS开发之扫描二维码
查看>>
Android黑科技: 快速找到view所在的xml文件
查看>>
linux分区方案
查看>>
003-Java技术体系
查看>>