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

    前言

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

    理解

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

    简单工厂模式

    简单工厂模式UML

    理解

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

    LabVIEW实现

    实现的类层次

    实现代码的复用

    工厂模式

    工厂模式UML

    理解

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

    LabVIEW实现

    实现的类层次

    代码实现

    LabVIEW实现过程中的一些问题

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


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





  • 相关阅读:
    HDU4366 Successor 线段树+预处理
    POJ2823 Sliding Window 单调队列
    HDU寻找最大值 递推求连续区间
    UVA846 Steps 二分查找
    HDU3415 Max Sum of MaxKsubsequence 单调队列
    HDU时间挑战 树状数组
    UVA10168 Summation of Four Primes 哥德巴赫猜想
    UESTC我要长高 DP优化
    HDUChess 递推
    HDU4362 Dragon Ball DP+优化
  • 原文地址:https://www.cnblogs.com/EltonLiang/p/5096195.html
Copyright © 2011-2022 走看看