zoukankan      html  css  js  c++  java
  • 23种设计模式学习之抽象工厂模式

    工厂方法模式有一个问题就是,类的创建依赖工厂类,也就是说,如果想要拓展程序,必须对工厂类进行修改,这违背了闭包原则,所以,从设计角度考虑,有一定的问题,如何解决?就用到抽象工厂模式,创建多个工厂类,这样一旦需要增加新的功能,直接增加新的工厂类就可以了,不需要修改之前的代码

    动物的抽象接口

    public interface Animal {
        void run();
    }
    

     鸟实现动物的跑方法

    public class Bird implements Animal {
        public void run() {
            System.out.println("飞着跑");
        }
    }
    

     虫子实现动物的跑方法

    public class Worm implements Animal {
        public void run() {
            System.out.println("趴着跑");
        }
    }
    

     生成动物的工厂的接口

    public interface AnimalFactory {
         Animal createAnimal();
    }
    

     生产鸟的工厂

    public class BirdFactory implements AnimalFactory {
        @Override
        public Animal createAnimal() {
            return new Bird();
        }
    }
    

     生产虫子的工厂

    public class WormFactory implements AnimalFactory {
        @Override
        public Animal createAnimal() {
            return new Worm();
        }
    }
    

    利用工厂生产动物

    public class Demo {
        public static void main(String[] args) {
            AnimalFactory factory=new BirdFactory();
            Animal animal = factory.createAnimal();
            animal.run();
        }
    }
    
  • 相关阅读:
    windows下python访问ipv6报错
    windows下python的包管理器pip安装
    python添加windows域验证
    Java系列笔记(1)
    JVM调优总结 -Xms -Xmx -Xmn -Xss
    5种调优Java NIO和NIO.2的方式
    Java之美[从菜鸟到高手演变]之JVM内存管理及垃圾回收
    jmap,jhat分析内存
    JVM 垃圾回收算法
    JVM 类加载过程
  • 原文地址:https://www.cnblogs.com/2nao/p/8214433.html
Copyright © 2011-2022 走看看