码迷,mamicode.com
首页 > 其他好文 > 详细

Factory(简单的工厂模式)

时间:2020-04-13 12:42:06      阅读:80      评论:0      收藏:0      [点我收藏+]

标签:抽象   factor   实例   ati   override   move   col   nbsp   turn   

一句话总结:用一个方法来代替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();
    }
}

 

Factory(简单的工厂模式)

标签:抽象   factor   实例   ati   override   move   col   nbsp   turn   

原文地址:https://www.cnblogs.com/wanjun-top/p/12689862.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!