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

    一、简单工厂模式

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

    二、传统方法

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

    还存在的问题:

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

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

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

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

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

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

  • 相关阅读:
    20200209 ZooKeeper 3. Zookeeper内部原理
    20200209 ZooKeeper 2. Zookeeper本地模式安装
    20200209 Zookeeper 1. Zookeeper入门
    20200206 尚硅谷Docker【归档】
    20200206 Docker 8. 本地镜像发布到阿里云
    20200206 Docker 7. Docker常用安装
    20200206 Docker 6. DockerFile解析
    20200206 Docker 5. Docker容器数据卷
    20200206 Docker 4. Docker 镜像
    Combining STDP and Reward-Modulated STDP in Deep Convolutional Spiking Neural Networks for Digit Recognition
  • 原文地址:https://www.cnblogs.com/aishangJava/p/15378583.html
Copyright © 2011-2022 走看看