Comprensión de patrones del método de fábrica de patrones creacionales

Tabla de contenido

1. Introducción:

2. Optimización de demostración del método de fábrica

3. Ventajas y desventajas


1. Introducción:

El artículo anterior escribió sobre el modo de creación: comprensión de demostración del modo de fábrica simple .

Una desventaja del modelo de fábrica simple es que los fragmentos de código if y else if para crear objetos se llevan a la clase de fábrica. Si agrega un indicador para el análisis posterior, debe reescribir y agregar un código else if en el fragmento de clase de fábrica. , lo que viola el principio de apertura y cierre.

Cómo optimizar esta deficiencia, puede usar el patrón del método de fábrica para optimizar. El punto simple es agregar subclases bajo la clase de fábrica y diferentes clases de índice implementan diferentes API para crear objetos e implementar cálculos.

2. Optimización de demostración del método de fábrica

Es principalmente para optimizar la capa de interfaz de la clase de fábrica,

//抽象接口:情景分析接口层
interface Analysis {
    public void calculate();
}

//实现层:指标a分析
class AnalysisIndexA implements Analysis {
    public AnalysisIndexA() {
        System.out.println("指标a分析!");
    }

    public void calculate() {
        System.out.println("指标a计算完成!");
    }
}

//实现层:指标b分析
class AnalysisIndexB implements Analysis {
    public AnalysisIndexB() {
        System.out.println("指标b分析!");
    }

    public void calculate() {
        System.out.println("指标b计算完成!");
    }
}

//工厂类
interface analysisFactory {
    //工厂类只负责抽象一个接口
    public Analysis factoryMethod();

}
//指标a工厂类
class AnalysisIndexAFactory implements analysisFactory {
    public Analysis factoryMethod() {
        return new AnalysisIndexA();
    }
}

//指标a工厂类
class AnalysisIndexBFactory implements analysisFactory {
    public Analysis factoryMethod() {
        return new AnalysisIndexB();
    }
}


class Client {
    public static void main(String args[]) {
        //
        analysisFactory factory;
        factory = new AnalysisIndexAFactory();
        Analysis analysis;
        //通过静态工厂方法引用不同指标对象
        analysis = factory.factoryMethod();
        //开始进行指标计算
        analysis.calculate();
    }
}

3. Ventajas y desventajas

1. Principales ventajas

       Las principales ventajas del patrón del método de fábrica son las siguientes:

       (1) Ocultar los detalles de la creación a la persona que llama

       (2) Al agregar nuevos cálculos de indicadores, no es necesario modificar las interfaces proporcionadas por la fábrica abstracta y los productos abstractos, no es necesario modificar el cliente y no es necesario modificar otras fábricas y productos específicos, solo es necesario agregar una fábrica de indicadores específica y una clase de indicador específica. De esta manera, la escalabilidad del sistema se vuelve muy buena, lo que cumple plenamente con el "principio de apertura y cierre".

  2. Principales desventajas

     Las principales desventajas del patrón del método de fábrica son las siguientes:

      (1) A medida que aumenta el número de nuevos indicadores, también aumenta el número de clases, lo que aumenta la sobrecarga de recursos.


 

Supongo que te gusta

Origin blog.csdn.net/qq_44691484/article/details/130527670
Recomendado
Clasificación