当前位置: 代码迷 >> 综合 >> 静态工厂方法模式
  详细解决方案

静态工厂方法模式

热度:15   发布时间:2024-03-06 20:58:07.0

最近在学习java的设计模式,不知道自己的理解对不对发出来让各位大神帮忙把把关!

静态工厂方法模式,将多个工厂方法模式里的方法置为静态的,不需要创建实例,直接调用即可。

例子:

第一步,创建接口

/*** 接口* @author Administrator**/
public interface Sender {/*** 发送消息*/public void send();
}

第二步,创建接口实现类分别为qq、email、sms三个实现类

qq

public class QqSender implements Sender {@Overridepublic void send() {System.out.println("调用qq邮箱发送!");}}

email

/*** email发送消息* @author Administrator**/
public class MailSender implements Sender {@Overridepublic void send() {System.out.println("email发送消息");}
}

sms

/*** sms发送消息* @author Administrator**/
public class SmsSender implements Sender {@Overridepublic void send() {System.out.println("sms发送消息");}}

第三步,创建消息发送工厂及方法


public class StaticSendFactory {/*** new email 发送消息实体* @return*/public static Sender produceMail() {return new MailSender();}/*** new  sms 发送消息实体* @return*/public static Sender produceSms() {return new SmsSender();}/*** new qq 发送消息实体* @return*/public static Sender produceQq() {return new QqSender();}}

第四步,测试类测试

public class StaticSendFactoryTest {public static void main(String[] args) {Sender sender = StaticSendFactory.produceMail();sender.send();}
}

个人理解:在多个工厂方法模式下降所有的方法static 静态化,在使用的时候不用在new对象了,仅此而已。

  相关解决方案