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

145次阅读
没有评论

共计 1297 个字符,预计需要花费 4 分钟才能阅读完成。

通过工厂对象生成接口的具体实现对象,这样我们的代码完全与接口的实现解耦

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发表,共计1297字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
本站勉强运行: