目录

裴先生
裴先生
发布于 2021-03-14 / 3 阅读
0
0

用简单代码初识工厂方法设计模式

原创
通过工厂对象生成接口的具体实现对象, 这样我们的代码完全与接口的实现解耦
public interface Cycle {
    // 骑方法
    void cycle();
}
/**
 * 独轮车实现
 */
public class Unicycle implements Cycle {
    // 轮子数
    private int num = 1;

    @Override
    public void cycle() {
        System.out.println("Unicycle num " + num);
    }
}
/**
 * 自行车实现
 */
public class Bicycle implements Cycle {
    // 轮子数
    private int num = 2;

    @Override
    public void cycle() {
        System.out.println("Bicycle num " + num);
    }
}
/**
 * 三轮车实现
 */
public class Tricycle implements Cycle {
    // 轮子数
    private int num = 3;

    @Override
    public void cycle() {
        System.out.println("Tricycle num " + num);
    }
}
public interface CycleFactory {
    // 选一种自行车
    Cycle getCycle();
}
/**
 * 生产独轮车工厂
 */
public class UniCycleFactory implements CycleFactory {
    @Override
    public Cycle getCycle() {
        return new Unicycle();
    }
}
/**
 * 生产自行车工厂
 */
public class BicycleFactory implements CycleFactory {
    @Override
    public Cycle getCycle() {
        return new Bicycle();
    }
}
/**
 * 生产三轮车工厂
 */
public class TricycleFactory implements CycleFactory {
    @Override
    public Cycle getCycle() {
        return new Tricycle();
    }
}
/**
 * @author plm
 * @create 2021/3/14 22:46
 */
public class Cycles {
    // 开始骑车
    public static void cycleCycle(CycleFactory cycleFactory) {
        Cycle cycle = cycleFactory.getCycle();
        cycle.cycle();
    }

    public static void main(String[] args) {
        cycleCycle(new UniCycleFactory()); // 骑来自独轮车工厂的车
        cycleCycle(new BicycleFactory());  //  骑来自自行车工厂的车
        cycleCycle(new TricycleFactory()); //  骑来自三轮车工厂的车
    }
}
/* 输出
Unicycle num 1
Bicycle num 2
Tricycle num 3
*/
简单的工厂方法设计模式代码,可作为初步了解设计模式;

原创

版权声明:本博客原创文章,由 裴先生 2021年03月14日 发表。
转载说明:除特殊说明外本站文章皆由 CC BY-NC-SA 4.0 协议发布,转载须注明出处。


评论