设计模式-简单工厂模式
来源:互联网 发布:普通人如何投资 知乎 编辑:程序博客网 时间:2024/06/06 11:36
场景
工厂模式是根据不同的参数创建对象。解决耦合的问题,工厂作为一个中间件存在。Spring中IOC是工厂模式的一种实现。工厂方法是由子类自行决定实例化那个类,而抽象工厂是自己决定实例化哪个类。缺点增加一种实现就需要修改一次FootballerFactory 建议使用抽象工厂
Sample
Factory 加入了单例
package com.lohamce.dp.samples.factory;public interface FootballPlayer {void shoot();void pass();void defend();}
package com.lohamce.dp.samples.factory;public class Chinese implements FootballPlayer {@Overridepublic void shoot() {System.out.println("Missed");}@Overridepublic void pass() {System.out.println("Missed");}@Overridepublic void defend() {System.out.println("Missed");}}
package com.lohamce.dp.samples.factory;public class Japanese implements FootballPlayer {@Overridepublic void shoot() {System.out.println("Good");}@Overridepublic void pass() {System.out.println("Perfect");}@Overridepublic void defend() {System.out.println("Missed");}}
package com.lohamce.dp.samples.factory;public class FootballPlayerFactory {public static final int CHINA = 1;public static final int JAPAN = 2;private FootballPlayerFactory(){}private static final FootballPlayerFactory footballPlayerFactory = new FootballPlayerFactory();public static FootballPlayerFactory getInstance(){return footballPlayerFactory;}FootballPlayer createFootballPlayer(int nationality){FootballPlayer player = null;switch(nationality) {case CHINA:player = new Chinese();break;case JAPAN:player = new Japanese();break;}return player;}}
package com.lohamce.dp.samples.factory;public class Test {public static void main(String[] args) {FootballPlayer player = FootballPlayerFactory.getInstance().createFootballPlayer(FootballPlayerFactory.JAPAN);player.pass();}}
Reference
java.util.Calendar – getInstance()java.util.Calendar – getInstance(TimeZone zone)java.util.Calendar – getInstance(Locale aLocale)java.util.Calendar – getInstance(TimeZone zone, Locale aLocale) java.text.NumberFormat – getInstance()java.text.NumberFormat – getInstance(Locale inLocale)
0 0
- 简单工厂设计模式
- 设计模式-----简单工厂
- 简单工厂设计模式
- 设计模式:简单工厂
- 设计模式 - 简单工厂
- 设计模式 简单工厂
- 【设计模式】【简单工厂】
- 简单工厂设计模式
- 简单工厂设计模式
- 设计模式--简单工厂
- 简单工厂设计模式
- 简单工厂设计模式
- 设计模式------------简单工厂
- 设计模式--简单工厂
- 简单工厂设计模式
- 设计模式---------简单工厂
- 设计模式--简单工厂
- 简单工厂设计模式
- 15.PHP内核探索:操作码OpCode
- 求斐波拉契序列和回文数
- Cygwin使用方法
- Android uses-permission大全
- android广播机制Broadcast
- 设计模式-简单工厂模式
- 用win32控制台写C++程序,程序运行完成马上就消失
- 待字闺中之正数数组内和为指定数字的总数
- 在 Eclipse 下利用 gradle 构建系统
- 身份证号验证
- 跨域(二级域)session共享
- Excel编号相同数字
- SLB技术原理浅析
- 每天工作4小时的程序员