每天一个设计模式,工厂方法模式(Factory Method)

Posted fenghx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每天一个设计模式,工厂方法模式(Factory Method)相关的知识,希望对你有一定的参考价值。

普通工厂模式:就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建:关系图如下:

技术分享图片

1.创建共同的接口

    public interface Sender {  
        public void Send();  
    }  

2.创建该接口的实现类

    public class MailSender implements Sender {  
        @Override  
        public void Send() {  
            System.out.println("this is mailsender!");  
        }  
    }  
public class SmsSender implements Sender {  
  
    @Override  
    public void Send() {  
        System.out.println("this is sms sender!");  
    }  
} 

3.建立工厂类

    public class SendFactory {  
      
        public Sender produce(String type) {  
            if ("mail".equals(type)) {  
                return new MailSender();  
            } else if ("sms".equals(type)) {  
                return new SmsSender();  
            } else {  
                System.out.println("请输入正确的类型!");  
                return null;  
            }  
        }  
    }  

4.测试

    public class FactoryTest {  
      
        public static void main(String[] args) {  
            SendFactory factory = new SendFactory();  
            Sender sender = factory.produce("sms");  
            sender.Send();  
        }  
    }  

输出:this is mailsender!

以上是关于每天一个设计模式,工厂方法模式(Factory Method)的主要内容,如果未能解决你的问题,请参考以下文章

设计模式——工厂方法模式(Factory Method)

工厂方法模式(Factory Method Pattern)

工厂模式--抽象工厂模式(Abstract Factory)

设计模式工厂方法模式(Factory Method)

工厂方法模式(Factory Method)

抽象工厂模式(Abstract Factory)