[email protected]_LabVIEW工厂模式理解

前言

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

理解

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

简单工厂模式

简单工厂模式UML

理解

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

LabVIEW实现

实现的类层次

实现代码的复用

工厂模式

工厂模式UML

理解

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

LabVIEW实现

实现的类层次

代码实现

LabVIEW实现过程中的一些问题

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



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

来自为知笔记(Wiz)

时间: 2024-10-03 03:09:26

[email protected]_LabVIEW工厂模式理解的相关文章

【iOS开发系列】用简单工厂模式理解OC反射机制

// 在iOS开发中,简单工厂模式使用得并不多.但是.我认为这是OC反射机制很好的一个例子, // 所以本文将以计算器为例,讲解简单工厂模式和OC的反射机制. // [简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类( // 这些产品类继承自一个父类或接口)的实例.该模式中包含的角色及其职责:工厂角色.抽 // 象产品角色.具体产品角色] // --百度百科 简单工厂模式 // 上面这句话可能不怎么好理解,我在网上找到了一个例子,可能例子本身不能完全解释这个 // 设

[email protected]&@classmethod&property的理解

#!/usr/bin/evn python #_*_coding:utf8_*_ class myClass(object): age = 30 def __init__(self,name): self.name = name def sayhi1(self):#只可实例中调用 print("sayhi1...name:{}.age:{}".format(self.name,self.age)) @staticmethod #静态方法不可访问构造方法中的变量,可在实例中调用,也可类中

工厂模式理解

所谓工厂模式,工厂即指生产物品的车间,代码的工厂模式,就是提供实例方法,把他封装起来,就成为了一个工厂,而工厂就可以为我们提供实例对象,另外工厂还有一个特性,就是我们不用关心工厂是如何生产实例的,我们只需要告诉它要生产什么实例,它就为我们提供什么实例 而抽象工厂,作用是为了更大可能的解除方法调用间的耦合度,举例为在.net中我们通常会使用到三层,我们直接用bll去掉dal里的方法,两者直接就会存在很大的耦合,借于此,我们会用借口去完成之间的联系,为dal编写一个接口,然后继承.在bll调用dal

java接口工厂模式理解

作为实际java开发经验还不到一年的我,第一次写博客,诚惶诚恐,怕把自己的谬误公之于众,误人子弟,不过转念一想,若是能有同行加以指点评判,将他们的真知灼见描述出来,那这篇文章就算抛转引玉了. 最近在阅读<Java编程思想>有关接口的最后一小节中,作者提出了工厂设计模式,用来解决---生成实现某个接口的对象.说实话,对设计模式近乎一无所知的我,看到这里会想,这也太简单了,脑子里不假思索的会写出这样一个例子: 1 //气 2 interface Air{ 3 void show(); 4 } 5

[email&#160;protected]_Note_命令模式

前言 20160109: 今天开始看命令模式,主要从概念和实现来深入理解该模式 概念理解[部分来自摘录] 概念 通常来说,"行为请求者"与"行为实现者"是紧耦合的.但在某些场合,比如要对行为进行"记录.撤销/重做.事务"等处理,这种无法抵御变化的紧耦合是不合适的.在这些情况下,将"行为请求者"与"行为实现者"解耦,实现二者之间的松耦合就至关重要.命令模式是解决这类问题的一个比较好的方法. LabVIEW中典

《大话设计模式》——简单工厂模式

C#视频学习结束后,自己开始了设计模式之旅,对于我这个菜鸟来说,学习设计模式有点困难,课本上的例子照着敲实现容易,但是自己真能做到举一反三确实很难,感觉自己学的老不踏实了. 在弄简单的工厂模式的时候,前几个例子真是贴近我的编写代码的习惯啊,怨不得小菜没有收到被录用的消息哪(就是小菜用C#编写计算机控制台程序的那个),我对<大话设计模式>中的简单工厂模式理解,简单工厂模式就是一个类,里面用到了多态,他根据我们传进去的参数不同而实例化出不同的对象,然后在利用对象的方法进行操作等等.但是书上到了这之

Objective-C设计模式——抽象工厂模式Abstract Factory(对象创建)

抽象工厂模式 理解了工厂方法模式,其实抽象工厂和工厂方法模式有很多的相似之处.抽象工厂同样是分离客户端对象的创建和逻辑代码的,但是抽象工厂往往是产生一组数据而不单单是产生一个产品. 抽象工厂提供一个创建一系列相关或相互依赖对象接口,而无需制定它们具体的类. 抽象工厂与工厂方法 抽象工厂 通过对象组合创建抽象产品 创建多系列产品 必须修改父类的接口才能支持新的产品 工厂方法 通过类继承创建抽象产品 创建一种产品 子泪花创建者并重载工厂方法以创建新产品 Demo 比较多就不一一的贴代码了,截类图 客

springboot情操陶冶[email&#160;protected]和@AutoConfigureAfter注解解析

承接前文springboot情操陶冶[email protected]注解解析,本文将在前文的基础上阐述@AutoConfigureAfter和@Conditional注解的作用与解析 [email protected] 根据单词来理解,其就是条件的意思.在分析之前我们可以看下其内部源码 @Target({ElementType.TYPE, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @Documented public @i

浅谈js抽象工厂模式

一.简单工厂 定义:简单工厂模式中,可以根据参数的不同返回不同类的实例.简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类. 比如你去专门卖鼠标的地方你可以买各种各样的鼠标 function mouse(color,long){ var o = new Object(); o.color= color; o.long= long; o.Explain= function(){ console.log(this.color,this.long); } return