zoukankan      html  css  js  c++  java
  • 设计模式(二)—工厂方法模式

         凡是出现了大量的实例需要创建,而且具有共同的接口时,可以通过工厂方法模式进行创建。

    image

    一个接口: Sender

    public interface Sender{
    	
    	public void send();
    	
    }

    两个实现类: MainSender和SmsSender

    public class MailSender implements Sender{
    
    	@Override
    	public void send(){
    		System.out.println("Main Send...");
    	}
    
    }
    public class SmsSender implements Sender{
    
    	@Override
    	public void send(){
    		System.out.println("Sms Send...");
    	}
    
    }

    一个接口: Provider

    public interface Provider{
    	
    	public Sender produce();
    	
    }

    两个实现类: MainFactory和SmsFactory

    public class MailFactory implements Provider{
    
    	@Override
    	public Sender produce(){
    		return new MailSender();
    	}
    
    }
    public class SmsFactory implements Provider{
    	
    	@Override
    	public Sender produce(){
    		return new SmsSender();
    	}
    
    }

    测试类

    public class TestDemo{
    
    	@Test
    	public void testFactory(){
    		Provider provider = new MailFactory();
    		Sender sender = provider.produce();
    		sender.send();
    	}
    }
    结果:

         Main Send...

  • 相关阅读:
    请假两时间的小时数差
    Python3之旅
    python语法总结1
    关于命令行的小结
    从Java到C#再到python
    数据库知识
    Visual Studio高低版本的问题(以2008和2015为例)
    web api
    readoney和const
    null
  • 原文地址:https://www.cnblogs.com/yangang2013/p/5706074.html
Copyright © 2011-2022 走看看