设计模式之抽象工厂模式
来源:互联网 发布:安卓手机长截图软件 编辑:程序博客网 时间:2024/06/03 12:42
普通工厂模式下比较重度依赖工厂类,如果想拓展功能则必须对工厂类进行修改,则抽象工厂应运而生,该模式下新建多个工厂类,这样一旦增加功能则只需要增加新的工厂类就ok了,代码如下
package com.demo.stragetry;import org.apache.hadoop.classification.InterfaceAudience.Public;import com.sun.corba.se.spi.orb.OperationFactory;import com.weibo.stragetry.multifacory.Sender;public class FactoryTest { static interface Operation{ public void calculate(); } public interface Provider{ public Operation produce(); } public static class AddOperation implements Operation{ @Override public void calculate() { // TODO Auto-generated method stub System.out.println("add operation"); } } public static class SubOperation implements Operation{ @Override public void calculate() { // TODO Auto-generated method stub System.out.println("sub operation"); } } public static class MulOperation implements Operation{ @Override public void calculate() { // TODO Auto-generated method stub System.out.println("mul operation"); } } public static class DivOperation implements Operation{ @Override public void calculate() { // TODO Auto-generated method stub System.out.println("div operation"); } } public static class FaltOperation implements Operation{ @Override public void calculate() { // TODO Auto-generated method stub System.out.println("Falt operation"); } } public static class AddFactory implements Provider{ @Override public Operation produce() { // TODO Auto-generated method stub return new AddOperation(); } } public static class SubFactory implements Provider{ @Override public Operation produce() { // TODO Auto-generated method stub return new SubOperation(); } } public static class MulFactory implements Provider{ @Override public Operation produce() { // TODO Auto-generated method stub return new MulOperation(); } } public static class DivFactory implements Provider{ @Override public Operation produce() { // TODO Auto-generated method stub return new DivOperation(); } } public static void main(String[] args) { Provider provider = new AddFactory(); Operation operation = provider.produce(); operation.calculate(); }}
阅读全文
0 0
- 设计模式之抽象工厂
- 设计模式 之 抽象工厂
- 设计模式之抽象工厂
- 设计模式之抽象工厂
- 设计模式之抽象工厂
- 设计模式之抽象工厂
- 设计模式之抽象工厂
- 设计模式之抽象工厂
- 设计模式之抽象工厂
- 设计模式之抽象工厂
- 设计模式之-抽象工厂
- 设计模式之抽象工厂
- 设计模式之抽象工厂
- 设计模式 之 抽象工厂
- 设计模式之抽象工厂
- 设计模式之抽象工厂
- 设计模式之抽象工厂
- 设计模式之抽象工厂
- PhpApplication2--智慧--php-webview
- 架构师之路(二)
- 安装myeclipse8.5
- 冒泡排序介绍与分析
- UVA-816 Abbott's Revenge (bfs)
- 设计模式之抽象工厂模式
- json字符串与json对象的相互转换
- 39. Combination Sum
- Oracle 11g服务器安装详细步骤——图文教程
- oracle如何移动datafile的位置
- 未雨绸缪 大三的你如何备战考研
- jQuery UI draggable 事件冲突处理
- 架构师之路(三)
- Java编程练习(1)