简单工厂设计模式


SimpleFactory 也叫做Static factory (静态工厂设计模式),不用说都知道是创造型工厂模式之一
其实不是的,简单工厂设计模式,并不是23种设计模式之一,也许它不满足开闭原则吧


通过我自己写的例子来阐述设计模式
现在一个培训机构要输出Coder  码农 有JAVACoder  IOSCoder ..等等
我公司想要 培训机构给我输出人才,此时 培训机构就可以看做工厂类 CoderbuilderFactory
工厂类里包可含商务逻辑,是简单工厂设计的核心。
还有一个码农的接口 Coder
以及多个具体的码农  JAVACoder IOSCoder
类图:


<span style="font-family: gotham, helvetica, arial, sans-serif; font-size: 14px; line-height: 1.571428em;">package Simplefactory;</span>
/**
 * 程序员的接口  这里运用了开闭原则 对扩展可以开放
 * @author coffee
 *
 */
public interface Coder {
	//程序员敲代码的抽象方法
	public void Code();
		
}
package Simplefactory;
/**
 * IOS开发程序员
 * @author coffee
 *
 */
public class IOScoder implements Coder {
	//具体的实现方法
	@Override
	public void Code() {
		System.out.println("写代码,开发IOS项目");
	}
	
}
package Simplefactory;
/**
 * java程序员
 * @author coffee
 *
 */
public class JavaCoder implements Coder {
	//具体的实现方法
	@Override
	public void Code() {
		System.out.println("写代码,开发Java项目");
	}
	
}

package Simplefactory;
/** 
 * 工厂设计模式  简单工厂  用一个程序员的例子说明
 * 又称呼 静态工厂方法 static Factory Method
 * @author coffee
 *
 */
public class Test {
	public static void main(String[] args) {
		Coder coder= CoderFactory.buildCoder("IOS");
		coder.Code();
	}
	
}
测试用例发现
生产Coder的时候 只需要指定 传入参数是什么,而且传入的参数必须是比较固定的几个。所以工厂部分的设计是不满足开闭原则的。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值