设计模式之工厂模式simple factroy

Simple Factory模式(又称Static Factory模式),一个Simple Factory生产成品,而对客户端隐藏产品产生的细节。实作时定义一个产品界面(interface),并透过特定静态方法来建立成品。

假设有一个水果工厂,购买水果的客人不用知道水果是如何种植的,他只要知道如何拿到就可以了
Client代表了客户的角色,它只依赖于Fruit界面,而不关心特定的实作,实际如何产生Fruit的实例由FruitFactory完成
Fruit.java
public interface Fruit {
public void grow(String f);
}

Grape.java

public class Grape implements Fruit{
@Override
public void grow(String f) {
System.out.println("I grows grapes:"+f);

}
}

StrawBerry.java
public class StrawBerry implements Fruit{
@Override
public void grow(String f) {
System.out.println("I grow strawberry:"+f);
}
}

FruitFactory.java
public class FruitFactory {

public static Fruit grows(int d){
Fruit f=null;
if ( d==1)
f=new Grape();
if (d==2)
f=new StrawBerry();
return f;
}
}

Client.java
public class Client {
public static void main(String args[]){
Fruit f=FruitFactory.grows(2);
f.grow("I choose I like...");
}
}

客户端只依赖于Fruit界面,所以即使您日后改变了grows()中的实作方式,对客户端是一点影响也没有的。
客户只要面对Factory,客户依赖于产品介面,产品的具体实作是可以与客户隔开的,它们也是可以抽换的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值