• Java设计模式--抽象工厂


      一个基础接口定义了功能,每个实现接口的子类就是产品,然后定义一个工厂接口,实现了工厂接口的就是工厂,这时候,接口编程的优点就出现了,我们可以新增产品类(只需要实现产品接口),只需要同时新增一个工厂类,客户端就可以轻松调用新产品的代码。

      抽象工厂的灵活性就体现在这里,无需改动原有的代码,毕竟对于客户端来说,静态工厂模式在不改动StaticFactory类的代码时无法新增产品,如果采用了抽象工厂模式,就可以轻松的新增拓展类。

    /**
     * 食物方法接口
     *
     */
    public interface Food {
    
    }
    
    /**
     * 生产方法
     *
     */
    public interface Produce {
        Food get();
    }
    
    
    /**
     * 食物A
     *
     */
    class A implements Food {
        
    }
    
    /**
     * 食物B
     *
     */
    class B implements Food {
        
    }
    
    /**
     * 食物A生产工厂
     *
     */
    class FactoryForA implements Produce {
    
        @Override
        public Food get() {
            return new A();
        }
        
    }
    
    /**
     * 食物B生产工厂
     *
     */
    class FactoryForB implements Produce {
    
        @Override
        public Food get() {
            return new B();
        }
        
    }
    
    /**
     * 抽象工厂
     * @author 尘世间迷茫的小书童
     *
     */
    public class AbstractFactory {
        public static void main(String[] args) {
            Food a = new FactoryForA().get();
            a = new FactoryForB().get();
        }
    }
  • 相关阅读:
    socket通信原理
    socket通信基础内容
    内核中断过程
    爬虫基础模块
    关于多个运算符的问题
    前戏
    js扩展
    加密
    django之form
    Django
  • 原文地址:https://www.cnblogs.com/mxh-java/p/11182961.html
Copyright © 2020-2023  润新知