zoukankan      html  css  js  c++  java
  • 07@Pattern_Note_LabVIEW工厂模式理解

    前言

    折腾了一天,基本上搞清楚了简单工厂、工厂模式

    理解

    无论是简单工厂还是工厂模式,都有一个特点,即工厂加工的方式是不变的,产品的类型可以不断扩展;
    如果加工方式也会变化,修改工厂模式的加工方式会导致工厂原有的一些内容发生改变,此时要使用策略模式,利用组合实现更多的可配置;

    简单工厂模式

    简单工厂模式UML

    理解

    简单工厂模式实际上是将初始化实例的内容放在了一个工厂类里面,通过一个参数,实现类的实例化,适用于只知道传入了工厂类的参数,对于始何创建对象(逻辑)不关心时候。
    由于将初始化实例放在了一个类中,如果新增一些产品的时候,就要修改工厂类,不符合OCP原则,所以遇到需要总增加产品的时候,需要设计为工厂模式

    LabVIEW实现

    实现的类层次

    实现代码的复用

    工厂模式

    工厂模式UML

    理解

    工厂模式相比简单工厂模式而言,增加了可以更改工厂的功能,即实现了不同初始化条件的执行(是OCP原则下,不修改源代码却可以更改初始化内容)

    LabVIEW实现

    实现的类层次

    代码实现

    LabVIEW实现过程中的一些问题

    1.明确Factory类的作用,实现初始化,所有初始化的工作都在Factory类中实现
    2.由于LabVIEW实例化只需拖拽一个即可,所以,实例化的一些初始工作就需要单独设计一个VI来初始化


    鉴于工厂模式和简单工厂类似,且工厂模式更有扩展性,所以以后设计基于工厂模式,设计可复制模块





  • 相关阅读:
    Angular2 组件通信
    vue跨组件通信的几种方法
    Angular React 和 Vue的比较
    vue对比其他框架
    ReactJS 生命周期、数据流与事件
    LeetCode 1089. 复写零(Duplicate Zeros) 72
    LeetCode 421. 数组中两个数的最大异或值(Maximum XOR of Two Numbers in an Array) 71
    12
    11
    10
  • 原文地址:https://www.cnblogs.com/EltonLiang/p/5096195.html
Copyright © 2011-2022 走看看