设计模式(Design Pattern) - 创建型模式(Creational Pattern) - 抽象工厂模式(Abstract Factory) - Java实现
2017-07-01 00:33
786 查看
设计模式(Design Pattern) - 创建型模式(Creational Pattern) - 抽象工厂模式(Abstract Factory)
比工厂模式更抽象的方法,效果:增加功能不必需改历史代码。
1、说明:
(1)Sender 接口;(同工厂模式)
(2)MailSender 实现类;(同工厂模式)
(3)SmsSender 实现类;(同工厂模式)
(4)Factory 工厂.接口;
(5)MailFactory 工厂实现类;
(6)SmsFactory 工厂实现类。
2、Java实现,代码如下:
(1)Sender
(2)MailSender
(3)SmsSender
(4)Factory
(5)MailFactory
(6)SmsFactory
(7)Test
输出:
mail send !
sms send !
比工厂模式更抽象的方法,效果:增加功能不必需改历史代码。
1、说明:
(1)Sender 接口;(同工厂模式)
(2)MailSender 实现类;(同工厂模式)
(3)SmsSender 实现类;(同工厂模式)
(4)Factory 工厂.接口;
(5)MailFactory 工厂实现类;
(6)SmsFactory 工厂实现类。
2、Java实现,代码如下:
(1)Sender
package com.java.designPattern.abastractFactory; /** * 接口 * */ public interface Sender { public void send(); }
(2)MailSender
package com.java.designPattern.abastractFactory; /** * 实现类 * */ public class MailSender implements Sender { @Override public void send() { System.out.println("mail send !"); } }
(3)SmsSender
package com.java.designPattern.abastractFactory; /** * 实现类 * */ public class SmsSender implements Sender { @Override public void send() { System.out.println("sms send !"); } }
(4)Factory
package com.java.designPattern.abastractFactory; /** * 抽象工厂 * */ public interface Factory { public Sender produce(); }
(5)MailFactory
package com.java.designPattern.abastractFactory; /** * 工厂实现类 * */ public class MailFactory implements Factory { @Override public Sender produce() { return new MailSender(); } }
(6)SmsFactory
package com.java.designPattern.abastractFactory; /** * 工厂实现类 * */ public class SmsFactory implements Factory { @Override public Sender produce() { return new SmsSender(); } }
(7)Test
package com.java.designPattern.abastractFactory; /** * 测试类 * */ public class Test { public static void main(String[] args) { Factory mailFactory = new MailFactory(); Sender mailSender = mailFactory.produce(); mailSender.send(); Factory smsFactory = new SmsFactory(); Sender smsSender = smsFactory.produce(); smsSender.send(); } }
输出:
mail send !
sms send !
相关文章推荐
- 设计模式(Design Pattern) - 创建型模式(Creational Pattern) - 建造者模式(Builder) - Java实现
- 设计模式(Design Pattern) - 行为型模式(Behavioral Pattern) - 迭代器模式(Iterator) - Java实现
- java语言实现创建型设计模式—抽象工厂模式
- 设计模式(Design Pattern) - 创建型模式(Creational Pattern) - 简单工厂模式(Simple Factory Pattern) - Java实现
- 设计模式(Design Pattern) - 创建型模式(Creational Pattern) - 单例模式(Singleton Pattern) - Java实现
- 设计模式(Design Pattern) - 创建型模式(Creational Pattern) - 原型模式(Prototype) - Java实现
- 设计模式(Design Pattern) - 创建型模式(Creational Pattern) - 工厂模式(FactoryMethod) - Java实现
- 设计模式(Design Pattern) - 行为型模式(Behavioral Pattern) - 备忘录模式(Memento Pattern) - Java实现
- JAVA设计模式(02):创建型-抽象工厂模式(Abstract Factory)
- 设计模式(Design Pattern) - 行为型模式(Behavioral Pattern) - 状态模式(State Pattern) - Java实现
- 23种经典设计模式的java实现_1_抽象工厂模式
- 设计模式(Design Pattern) - 行为型模式(Behavioral Pattern) - 命令模式(Command) - Java实现
- 设计模式(Design Pattern) - 行为型模式(Behavioral Pattern) - 责任链模式(Chain of Responsibility) - Java实现
- Java设计模式(2)创建型:工厂模式(工厂方法模式与抽象工厂模式)
- java设计模式(创建型)之抽象工厂模式
- 设计模式(Design Pattern) - 行为型模式(Behavioral Pattern) - 中介者模式(Mediator) - Java实现
- 创建型模式之一 工厂模式(Java实现)(一)
- 设计模式之第2章-抽象工厂模式(Java实现)
- Java设计模式菜鸟系列(五)抽象工厂模式建模与实现
- java设计模式之创建型模式-抽象工厂模式