摘要: 状态模式 代码实现: 交通类: namespace StatePattern { public abstract class BaseLight { private LightColor _lightColor; public abstract void Show(); public abstrac 阅读全文
posted @ 2020-12-08 14:45 NiKaFace 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 观察者模式 代码实现: 事件类: namespace ObserverPattern.Subject { public class Cat { private readonly List<IObserver> _observerList = new List<IObserver>(); public 阅读全文
posted @ 2020-12-08 11:28 NiKaFace 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 备忘模式 代码实现: 实体类: public class War3 { public string Race { get; set; } public string Hero { get; set; } public string Army { get; set; } public string R 阅读全文
posted @ 2020-12-07 23:11 NiKaFace 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 中介者模式 1.解决对象交互问题 代码实现: 部门员工类: namespace MediatorPattern { public abstract class BasePerson { public string Name { get; set; } public abstract void Sen 阅读全文
posted @ 2020-12-07 18:12 NiKaFace 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 迭代器模式 1. Yield Return 2. 提供统一的访问方式 代码实现: 食品类: public class Food { public int Id { get; set; } public string Name { get; set; } public int Price { get; 阅读全文
posted @ 2020-12-07 16:08 NiKaFace 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 命令模式 1. 实现异步队列 2.数据恢复,命令撤销 代码实现: 对象: namespace CommandPattern { public class Document { public int Id { get; set; } public string Name { get; set; } } 阅读全文
posted @ 2020-12-07 13:36 NiKaFace 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 责任链模式 1.逻辑封装和转移 代码实现: 上下文: public class ApplyContext { public int Id { get; set; } public string Name { get; set; } public int Hour { get; set; } publ 阅读全文
posted @ 2020-12-07 02:06 NiKaFace 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 模板方法 1.定义通用处理流程,实现通用部分,可变部分留作扩展 代码实现: 模板: namespace TempleteMethodPattern { public abstract class BaseClient { public decimal Deposit { get; set; } pu 阅读全文
posted @ 2020-12-06 20:53 NiKaFace 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 代理模式 1. 基于开闭原则 OCP: 对扩展开放,对修改封闭。 购物类: namespace ProxyPattern { public interface IShopping { void ChoiceProduct(string product); void PayForProduct(); 阅读全文
posted @ 2020-12-04 14:58 NiKaFace 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 享元模式 1.解决对象复用问题 2.不破坏原本类的封装 3.池化资源管理:避免对象重复创建和销毁(尤其是非托管资源) 4.字符串 内存分配使用是享元模式(排除部分分配) 代码实现: namespace FlyWeightPattern { public interface ILetter { pub 阅读全文
posted @ 2020-12-03 17:45 NiKaFace 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 外观模式 1. 分层、封装 减少上层复杂度 代码实现: 商品下单走物流: namespace FacadePattern.User { public interface IUser { public bool CheckUser(int userId); } public class User:IU 阅读全文
posted @ 2020-12-03 13:55 NiKaFace 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 装饰器模式 1.继承+组合 2. AOP编程思想的一种实现 代码实现: 员工: namespace DecoratorPattern { public abstract class AbstractEmployee { public int Id { get; set; } public strin 阅读全文
posted @ 2020-12-03 10:16 NiKaFace 阅读(390) 评论(0) 推荐(0) 编辑
摘要: 组合模式 1. 运用递归 2. 组合模式:分透明和安全 代码实现: 项目提成 namespace CompositePattern { public abstract class AbstractDomain { public string Name { get; set; } public int 阅读全文
posted @ 2020-12-02 14:35 NiKaFace 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 桥接模式 1.解决多维度问题 2.变化封装 代码实现: 组合 变化封装类 减少子类的数量 手机系统桥接 namespace BridgePattern.Bridge { public interface ISystem { public string GetSystem(); public stri 阅读全文
posted @ 2020-12-02 11:46 NiKaFace 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 适配器模式 1. 类适配器 (通过继承) 2. 对象适配器 (通过组合) 组合优于继承 数据库适配,代码实现: 原始类 Sql server /MySql namespace AdapterPattern { interface IHelper { void Add<T>(); void Delet 阅读全文
posted @ 2020-12-01 17:54 NiKaFace 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 原型模式 1.利用对象拷贝,快速获取对象 学生原型: public class StudentPrototype { public int Id { get; set; } public string Name { get; set; } public Class Class { get; set; 阅读全文
posted @ 2020-12-01 16:20 NiKaFace 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 建造者模式 1. 复杂对象创建,包含多步骤 2. 建造流程相对固定 代码实现:造车 模型: namespace BuilderPattern.Models { public class Engine { public string Name { get; set; } } public class 阅读全文
posted @ 2020-12-01 13:44 NiKaFace 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 抽象工厂模式 1. 倾斜的可扩展性设计:产品簇扩展方便,工厂职责不能扩展 代码实现: 三国服务: namespace AbstractFactory.SanGuoService { public interface ILord { void ShowLord(); } public class Lo 阅读全文
posted @ 2020-12-01 10:49 NiKaFace 阅读(160) 评论(0) 推荐(0) 编辑
摘要: C# 设计模式(1)单例模式 C# 设计模式(2)简单工厂模式 C# 设计模式(3)工厂方法模式 C# 设计模式(4)抽象工厂模式 C# 设计模式(5)建造者模式 C# 设计模式(6)原型模式 C# 设计模式(7)适配器模式 C# 设计模式(8)桥接模式 C# 设计模式(9)组合模式 C# 设计模式 阅读全文
posted @ 2020-12-01 08:41 NiKaFace 阅读(319) 评论(0) 推荐(1) 编辑
摘要: 1. 基于开闭原则 OCP: 对扩展开放,对修改封闭。 2. 基于单一原则 代码实现:WarCraft3 服务 namespace FactoryMethod.Warcraft3Service { public interface IRace { void InterWar(); } public 阅读全文
posted @ 2020-12-01 01:27 NiKaFace 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 简单工厂模式 1. 运用倒置原则:依赖于抽象,不依赖于细节 2. 简单工厂+配置文件 + 反射 设计可扩展的应用 代码实现 : 背景:War3 有多个种族 HUM ORC NE UD // HUM ORC NE UD namespace SimpleModule.Warcraft3Service { 阅读全文
posted @ 2020-11-30 17:50 NiKaFace 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 1.右击项目添加应用程序配置文件 2.通过NuGet包管理器,添加System.Configuration.ConfigurationManager包 3. 在App.config添加 appSettings节点 <appSettings> <add key="YourKey" value="You 阅读全文
posted @ 2020-11-30 16:56 NiKaFace 阅读(1852) 评论(0) 推荐(0) 编辑
摘要: 单例模式: 1. 程序只需要这个对象实列化一次. 2. 不能解决多线程并发问题 3. 主要应用于 数据库连接池、线程池、流水号生成器、配置文件读取、IOC容器实列 实现方法一(懒汉式) class Program { static void Main(string[] args) { for (in 阅读全文
posted @ 2020-11-30 10:53 NiKaFace 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 首先了解一下不同应用程序域中的对象的通信方式有两种:一种是跨应用程序域边界传输对象副本。按值封送(marshal by value)一种是使用代理交换消息。按引用封送(marshal by reference) 本机或者是服务器上的其实都是同一个实例,只不过是服务器创建后你在本地使用了那个对象而已。 阅读全文
posted @ 2020-11-21 16:25 NiKaFace 阅读(814) 评论(0) 推荐(0) 编辑
摘要: 使用64位TestStand调用32位LabVIEW代码模块 Software TestStand LabVIEW LabWindows/CVI How can I call 32-bit LabVIEW VIs from 64-bit TestStand? How can I configure 阅读全文
posted @ 2020-11-21 15:36 NiKaFace 阅读(1889) 评论(0) 推荐(0) 编辑
摘要: LIN总线是目前常见的一种A类网络协议。LIN的全称为Local Interconnect Network。LIN主要功能是为CAN总线网络提供辅助功能,应用场合有智能传感节点、自动车窗节点等。目前最新的LIN协议是LIN2.2,制定于2010年。LIN的一大优点是成本低,但其最大传输速率为20Kb 阅读全文
posted @ 2020-11-18 13:28 NiKaFace 阅读(6163) 评论(0) 推荐(1) 编辑
摘要: C#版本.NET版本发布日期特性 C# 1.0 .NET Framework 1.0 2002-02-13 委托、事件 C# 1.1 .NET Framework 1.1 2003-04-24 APM(异步编程模型) C# 2.0 .NET Framework 2.0 2005-11-07 泛型、匿 阅读全文
posted @ 2020-11-02 16:22 NiKaFace 阅读(2210) 评论(2) 推荐(3) 编辑
摘要: AppDomain是CLR的运行单元,它可以加载Assembly、创建对象以及执行程序。 AppDomain是CLR实现代码隔离的基本机制。每一个AppDomain可以单独运行、停止;每个AppDomain有自己默认的异常处理;一个AppDomain的运行失败不会影响到其他的AppDomain。CL 阅读全文
posted @ 2020-10-03 22:36 NiKaFace 阅读(259) 评论(0) 推荐(0) 编辑
摘要: private static void LaunchHelper( LaunchTestStandApplicationInNewDomain.MainEntryPointDelegate entryPoint, LaunchTestStandApplicationInNewDomain.MainE 阅读全文
posted @ 2020-10-03 22:24 NiKaFace 阅读(956) 评论(2) 推荐(0) 编辑
摘要: TestStand​ 代码​模​块​开发​最佳​实践【1】 TestStand ​自​定义​步骤​类型​开发​最佳​实践【2】 TestStand ​用户​界面​开发​最佳​实践【3】 ​TestStand API 编程【4】 TestStand​ 报告​生成​和​自​定义【5】 TestStand 阅读全文
posted @ 2020-10-03 15:29 NiKaFace 阅读(1562) 评论(0) 推荐(2) 编辑
摘要: 概览 TestStand​数据​类型​和​步骤​类型​(统称​为“TestStand​类型”)​让​您​可以​定义​可​复​用​的​数据​结构​和​步骤。​这些​类型​可​用于​维护​整个​测试​系统​多个​位置​所用​组​件​组成​的​中心​节点。​尽管​TestStand​类型​有助​于​测试​ 阅读全文
posted @ 2020-10-03 15:26 NiKaFace 阅读(890) 评论(0) 推荐(0) 编辑
摘要: 概览 测试​系统​的​部署​是​测试​框架​开发​中​最​重要​的​环节​之一,​但在​开发​结束​之前​却​经常​被​忽视。​在​整个​开发​周期​中​牢记​部署​很​重要,​如此​可​确保​部署​过程​尽可能​顺利。​要​部署​NI TestStand​系统,​必须​识别​需要​部署​的​不同​ 阅读全文
posted @ 2020-10-03 15:23 NiKaFace 阅读(1206) 评论(0) 推荐(0) 编辑
摘要: 概览 测试​系统​的​性能​对​生产​线​的​生产​率​和​成本​影响​重大。​运行​缓慢​的​测试​系统​可能​需要​进行​成本​高昂​的​重复​工作​或​缩小​测试​覆盖​范围,​两​种​情况​都​可能​会​影响​质量。​优​化​测试​软件​的​性能​可以​大大​缩短​测试​时间,​并​使用​更 阅读全文
posted @ 2020-10-03 15:20 NiKaFace 阅读(1261) 评论(0) 推荐(0) 编辑
摘要: 概览 产品​测试​一直​以来​都​面临​着​一个​挑战,​即​确保​测试​系统​设计​的​正确​性​且​能够​继续​正常​运行。​开发​测试​系统​时,​工程​师​会​创建​测试​程序​并​设置​测量​限​值,​以便​正确​检测​有​缺陷​的​产品。​确定​测试​方法​后,​必须​先​对​测试​系统 阅读全文
posted @ 2020-10-03 15:16 NiKaFace 阅读(765) 评论(0) 推荐(0) 编辑
摘要: 概览 过程​模型​的​开发​和​自​定义​是​NI TestStand​的​强大​功能,​用户​可​通过​此​功能​归纳​多个​测试​序列​中的​概念​并​提高​代码​复​用​率,​从而​减少​开发​和​维护​时间。​本文​档​概述​了​自​定义​过程​模型​的​最佳​实践。​本文​档​非常​适用​ 阅读全文
posted @ 2020-10-03 15:12 NiKaFace 阅读(1400) 评论(0) 推荐(0) 编辑
摘要: 概览 自动​化​测试​系统​的​一个​常见​要求​是​生成​一份​完整​的​报表,​其中​包含​所有​结果​信息,​可​解答​以下​问题:“什么​是​序列​测试?”和“每​个​待​测​设备​(UUT)​的​测试​结果​是​什么?”。 本文​档​提供​有关​TestStand​报表​的​信息,​包括​ 阅读全文
posted @ 2020-10-03 14:47 NiKaFace 阅读(3261) 评论(0) 推荐(0) 编辑
摘要: 概览 TestStand​包括​许多​内​置​步骤​类型,​这些​步骤​类型​作为​测试​序列​的​构​建​块。​除​内​置​步骤​类型​外,​用户​还​可以​在​TestStand​中​创建​自​定义​步骤​类型​来​实现​其他​功能。 自​定义​步骤​类型​使​用户​可​通过​以下​方式​扩展​ 阅读全文
posted @ 2020-10-03 11:29 NiKaFace 阅读(1559) 评论(0) 推荐(0) 编辑
摘要: 概览 TestStand​用户​界面​是​一个​应用​程序,​提供​用于​在​生产​站​点​执行​测试​的​图形​界面。​用户​界面​应用​程序​通常​用于​执行​测试,​而​TestStand​序列​编辑​器​通常​用于​开发​测试。​您​可以​自​定义​用户​界面​以​满足​特定​的​测试​需求 阅读全文
posted @ 2020-10-03 11:19 NiKaFace 阅读(2024) 评论(0) 推荐(0) 编辑
摘要: 1、概述 log4net是.Net下一个非常优秀的开源日志记录组件。log4net记录日志的功能非常强大。它可以将日志分不同的等级,以不同的格式,输出到不同的媒介。本文主要是介绍如何在Visual Studio2008中使用log4net快速创建系统日志,如何扩展以输出自定义字段。 2、一个简单的使 阅读全文
posted @ 2020-09-28 23:04 NiKaFace 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 相信做开发的没有不重视效率的。开发C#,VB的都知道,我们很依赖VS,或者说,我们很感谢VS。能够对一个IDE产生依赖,说明这个IDE确实有它的独特之处。无容置疑,VS是一个非常强大的IDE,它支持多语言编辑。支持C#,VB,C/C++,HTML......它拥有强大的调试编译功能。它让我们不用去记 阅读全文
posted @ 2020-09-27 09:47 NiKaFace 阅读(493) 评论(0) 推荐(0) 编辑