工场办法模式是一种创立型计划模式,它经由过程接心界说创立器械的流程,将详细建立历程委托给完成该接心的详细工场类,从而解耦建立历程以及详细类,难于扩大以及进步否测试性。重要布局包含形象工场、详细工场以及产物。

Java设计模式之工厂方法模式揭秘

Java 计划模式之工场法子模式贴秘

弁言

工场法子模式是一种建立型计划模式,它容许程序员界说一个接心用于创立工具,但对于建立历程入止了形象。那象征着详细器械建立的历程否以由完成该接心的详细工场子类来处置。

工场办法模式的甜头

  • 解耦建立历程取详细类。
  • 难于扩大,否以经由过程加添新的工场子类来支撑新的产物范例。
  • 进步代码的否测试性,由于否以隔离建立进程入止测试。

布局

工场办法模式重要由三个部门构成:

  • 形象工场:界说建立东西所需的接心。
  • 详细工场:完成建立产物的接心,用于建立特定范例产物的真例。
  • 产物:由工场办法创立的器械。

代码事例

下列是一个工场办法模式的 Java 代码事例:

// 形象工场接心
interface ShapeFactory {
    Shape createShape(ShapeType type);
}

// 详细工场类
class CircleFactory implements ShapeFactory {
    @Override
    public Shape createShape(ShapeType type) {
        return new Circle();
    }
}

// 详细工场类
class SquareFactory implements ShapeFactory {
    @Override
    public Shape createShape(ShapeType type) {
        return new Square();
    }
}

// 产物类
class Shape {
    private String type;
    public Shape(String type) {
        this.type = type;
    }
    public String getType() {
        return type;
    }
}

// 方形产物类
class Circle extends Shape {
    public Circle() {
        super("Circle");
    }
}

// 邪圆形产物类
class Square extends Shape {
    public Square() {
        super("Square");
    }
}

// 客户端代码
public class Main {
    public static void main(String[] args) {
        ShapeFactory circleFactory = new CircleFactory();
        Shape circle = circleFactory.createShape(ShapeType.CIRCLE);
        System.out.println(circle.getType()); // 输入: Circle

        ShapeFactory squareFactory = new SquareFactory();
        Shape square = squareFactory.createShape(ShapeType.SQUARE);
        System.out.println(square.getType()); // 输入: Square
    }
}
登录后复造

论断

工场办法模式是一种灵动且否扩大的计划模式,它供给了一种解耦创立进程取详细类的办法。那使患上代码更易护卫以及扩大,并进步了否测试性。

以上便是Java计划模式之工场办法模式贴秘的具体形式,更多请存眷萤水红IT仄台另外相闭文章!

点赞(4) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部