• 设计模式之简单工厂模式,带有自制的UML类图


    一、简单工厂模式

    简单工厂模式属于创造模式,是一种工厂模式。简单工厂模式是一个工厂对象,它确定要创建哪个产品类实例。简单工厂模式是工厂模式家族中最简单、最实用的模式
    简单工厂模式:定义用于创建对象的类,该类封装实例化对象的行为(代码)
    在软件开发中,当我们将使用大量数据来创建一个、一个类或一批对象时,我们将使用工厂模式。
    让我们举一个点面包的例子。该计划需要具有可扩展性
    1) 有很多种面包
    2) 准备、烘烤、包装
    3) 完成面包订购功能

    二、传统方法

    想法:
    要使用的类、面包的抽象类、butterbread的具体实现类、toast、orderbread的ordering类
    具体实现是在orderbread中完成不同种类面包的订购

    还存在的问题:

    您可以在图中看到两条红线,主要的变化是在orderbread中添加一个类并修改if分支的代码

    在前一个案例中,问题似乎不是很大。这意味着两个部分已被修改。如果我们的商店扩大,必须添加新的订购类,该怎么办?它将成为以下内容

    此时,如果我们要添加一种面包,我们需要同时更改orderbread1和orderbread2,需要更改的位置将直接加倍。

    可以看出,这种方法不利于随着类的增加而扩展和维护。类越多,添加扩展所需的更改就越多。如果你粗心,你可能会错过和犯错误。

    添加一个simplefactory类,将面包的订购过程转移到该类的内部,并让其他订单类依赖simplefactory类,以便各种订单类与面包之间没有依赖关系。其他order类则依赖于simplefactory类。

    当我们尝试添加新的订单和面包类型时,我们只需要在simplefactory中添加面包类型,而不修改所有订单类。

  • 相关阅读:
    编辑距离算法详解:Levenshtein Distance算法
    直方图均衡化
    Dev之ChartControl控件(二)— 绘制多重坐标图形
    SVM支持向量机算法
    Dev之ChartControl控件(一)
    KNN邻近分类算法
    广州.NET微软技术俱乐部提技术问题的正确方式
    .NET微软技术 开源项目建设
    广州.NET微软技术俱乐部与其他技术群的区别
    广州.NET微软技术俱乐部 微信群有用信息集锦
  • 原文地址:https://www.cnblogs.com/aishangJava/p/15378583.html
Copyright © 2020-2023  润新知