设计模式-工厂模式

参考网站

http://www.runoob.com/design-pattern/factory-pattern.html

什么是工厂模式?

工厂模式是Java中最常用的设计模式之一。这种模式属于创建型模式,它提供了一种创建对象的最佳方法。
在工厂模式中,我么你在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。

使用方法

定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。

步骤

创建一个接口

Toys.java 玩具类

public interface Toys {
    public void print();

}

创建实现接口的实现类

Car.java 玩具车

public class Car implements Toys{
    
    public void print(){
        System.out.println("Car");
    }
    
}

Sword.java 玩具剑

public class Sword implements Toys {
    public void print(){
        System.out.println("Sword");
    }
}

创建一个工厂,生成基于给定字符串的实体类的对象

ToysFactory.java 玩具工厂类

public class ToysFactory {

    public Toys getToy(String toysName){
        if(toysName == "car")
            return new Car();
        else if(toysName == "sword")
            return new Sword();
        return null;
    }
}

使用该工厂,给定字符串,生成对应的对象

Client.java 客户端类

public class Client {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        ToysFactory toysFactory = new ToysFactory();
        Toys toys = toysFactory.getToy("sword");
        toys.print();//输出Sword
        toys = toysFactory.getToy("car");
        toys.print();//输出Car
    }

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、工厂模式简介 意图定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进...
    怡红快绿阅读 612评论 0 0
  • 一、工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。 工厂模式在...
    李序锴阅读 573评论 0 0
  • 原文地址:LoveDev 工厂模式是最常用的设计模式之一,该模式定义一个用于创建对象的工厂类,调用者不用关心创建的...
    KevinLive阅读 350评论 0 0
  • 时至今日,我才恍然意识到,我所有的绵长久远的爱都是因为难以触摸。比如多年以来一天比一天浓烈的偶像之爱,因为无法靠近...
    云_横阅读 539评论 0 0
  • 1 我有个朋友,逻辑思维能力非常强,跟她在一起常常有被碾压的感觉。 有次她跟说我 “你看,思考一个问题,应该是向不...
    Sora夜白鹿阅读 2,375评论 8 34