工厂方法设计,有时被称为虚拟构造器设计,提供了一种从客户端代码覆盖项目创建原理的方法,但是,返回的项目确保坚持到已知的连接点。它是使用最广泛的创作设计之一,因为它为您的文章创作架构增加了大量的适应性,而不会增加很多复杂性。
在本文中,我们将探索Dart 和 Flutter 的工厂设计模式。我们将了解如何执行演示程序。经典工厂方法模型外观如何巧妙地交付处理不同形状的对象,然后我们将研究如何使用该示例在Flutter中为各个阶段制作 UI 组件而没有任何问题。
让我们从一个过于短视但具有示范意义的模型开始,它有助于理解工厂方法示例的结构。我们将创建一个支持创建圆形或方形的形状工厂。随附的图表概述了基本组件和连接:

Shape 类将作为工厂和模型的连接点,而 Circle 和 Square 是生产工厂的实质性结果的实例。这些项目执行实现工厂的交互点,从而大量执行draw()策略。
我们如何找出它类似于Dart代码:
enum ShapeType {
circle,
square
}
abstract class Shape {
factory Shape(ShapeType type) {
switch (type) {
case ShapeType.circle: return Circle();
case ShapeType.square: return Square();
default: return null;
}
}
void draw();
}
class Circle implements Shape {
@