zoukankan      html  css  js  c++  java
  • Factory(简单的工厂模式)

    一句话总结:用一个方法来代替new关键字
    解决什么问题:对象产生过多,或者经常有子类替换生成。
    项目里面怎么用:对于经常生成的对象,或者父子类替换的对象。
    模式结构:写一个对外声明的方法,方法里面使用new关键字代替。
    框架里面使用:spring的核心就是工厂模式。

    工厂方法模式:
    有四个角色,抽象工厂模式,具体工厂模式,抽象产品模式,具体产品模式。不再是由一个工厂类去实例化具体的产品,而是由抽象工厂的子类去实例化产品

    // 抽象产品角色
    public interface Moveable {
        void run();
    }
    // 具体产品角色
    public class Plane implements Moveable {
        @Override
        public void run() {
            System.out.println("plane....");
        }
    }
    //扫把
    public
    class Broom implements Moveable { @Override public void run() { System.out.println("broom....."); } }
    // 抽象工厂 交通工具
    public abstract class VehicleFactory {
        abstract Moveable create();
    }
    // 具体工厂
    public class PlaneFactory extends VehicleFactory {
        public Moveable create() {
            return new Plane();
        }
    }
    public class BroomFactory extends VehicleFactory {
        public Moveable create() {
            return new Broom();
        }
    }
    // 测试类
    public class Test {
        public static void main(String[] args) {
            VehicleFactory factory = new BroomFactory();
            Moveable m = factory.create();
            m.run();
        }
    }
  • 相关阅读:
    mysql timestamp自动更新 简单
    vim中执行shell命令小结 简单
    Memcached常用资料 简单
    linux bash的命令行操作 简单
    如何调研 简单
    Linux 任务 jobs 简单
    shell相关命令效率 简单
    shell命令学习 简单
    线段树 区间更新(hdu1698) 区间合并(poj3667)
    hdu 1166 敌兵布阵 (树状数组)
  • 原文地址:https://www.cnblogs.com/wanjun-top/p/12689862.html
Copyright © 2011-2022 走看看