zoukankan      html  css  js  c++  java
  • 设计模式之简单工厂模式,带有自制的UML类图

    一、简单工厂模式

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

    二、传统方法

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

    还存在的问题:

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

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

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

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

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

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

  • 相关阅读:
    Rsync数据同步详情及配置
    ssh密钥及发放
    ssh服务及简单应用
    二叉搜索树的第k个结点
    序列化二叉树
    把二叉树打印成多行
    按之字形顺序打印二叉树
    对称的二叉树
    二叉树的下一个结点
    删除链表中重复的结点
  • 原文地址:https://www.cnblogs.com/aishangJava/p/15378583.html
Copyright © 2011-2022 走看看