简单工厂模式


1.概述

简单工厂模式是类的创建模式,又叫做静态工厂方法模式。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。

2.解决问题

  当在一个系统中,我们要频繁的调用不同的实体类,使用它们的一个方法时,我们可以采用简单工厂模式来做,客户端不需要知道怎么创建产品,直接交给工厂来完成。

3.

  1.工厂类:用于创建具体产品的工厂

  2.抽象产品类:声明共同方法的抽象类或接口

  3.具体产品:实现抽象产品中的方法。

4.结构图

5.结构中代码

  

我们用女娲造人的列子来写。

  

首先,女娲相当于一个工厂,用于创造各种各样的人,黄种人,白种人,黑种人等,所有的人都有相同的方法。女娲在造人的时候是要依赖人这个模型的。

1.抽象产品类----》人

public interface Person {
    
    public void eat();
    
    public void sleep();
    
    public void walk();

}

  

2.具体产品类:

public class YelloPerson implements Person {

    public void eat() {

    }

    public void sleep() {
        System.out.println("黄种人正在睡觉");
    }

    public void walk() {

    }

}

public class WhitePerson implements Person {

    public void eat() {

    }

    public void sleep() {
        System.out.println("白种人正在睡觉");
    }

    public void walk() {

    }

}
public class BlackPerson implements Person {

    public void eat() {

    }

    public void sleep() {
        System.out.println("黑种人正在睡觉");
    }

    public void walk() {

    }

}

  工厂类----》女娲

  

public class NvWa {
    
    public static Person CreatePerson(String type){
        Person person = null;
        switch (type) {
        case "黄色":
            person = new YelloPerson();
            break;
        case "黑色":
            person = new BlackPerson();
            break;
        case "白色":
            person = new WhitePerson();
            break;
        default:
            break;
        }
        return person;
    }

}

客户端:

public class Client {
    
    public static void main(String [] args){
        
        String type = "黄色";
        Person person = NvWa.CreatePerson(type);
        person.sleep();
        
        
    }

}


6.总结

  1优点:相对而言降低类程序耦合度,提高程序维护和扩展性。

  2缺点:工厂还是依赖抽象产品,没有实现真正的解耦。

  

优质内容筛选与推荐>>
1、C#中的多线程2(摘自网络)
2、Sencha Touch 2.0 List滚动实例
3、JDK1.6官方下载_JDK6官方下载_JDK1.6API(chm)下载_JDK6APICHM中文参考下载_JDK1.6下载_JDK6下载
4、SQL 跳出游标 break
5、论搜索技术对人类的四大社会性意义


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号





    联系我们

    欢迎来到TinyMind。

    关于TinyMind的内容或商务合作、网站建议,举报不良信息等均可联系我们。

    TinyMind客服邮箱:support@tinymind.net.cn