摘要:
序言 本文介绍一个C++如何调用C#开发的dll实例。 前言 C++编写的程序为非托管代码,C#编写的程序为托管代码。托管代码虽然提供了其他开发平台没有的许多优势,但由于前期系统及历史版本很多使用的是非托管代码编写的程序,所以CLR提供了一些机制,允许在应用程序中同时包含托管和非托管代码。具体说分为 阅读全文
摘要:
序言 本文分享一个通过数据库(ORACLE)的存储过程,遵循“对修改封闭,对增加开放”的开闭原则,实现的可扩展性极强的灵活接口方案。 背景 本人从事离散型MES系统的开发工作,近期负责了一个PCBA(电子、手机)行业的MES系统二开工作。PCBA行业使用ATE工具(自动测试工具)进行写号、查号、置标 阅读全文
摘要:
序言 本文分享一个用链式编程思想和泛型实现的扩展方法类,用于减少代码量,并提供更为清晰的业务逻辑代码表达。 概念 链式编程:将多个业务逻辑(方法)通过“.”(点号)串联起来的一种代码风格,形似链条,故称链式编程。核心思想在于每个方法均返回自身实例。 泛型:可以理解为是一个类的“篮子“”,只要符合约束 阅读全文
摘要:
序言 前两篇讲解了UIMediator框架的使用及具体原理代码。本篇讲述MediatorManager的实现代码及展望。 MediatorManager MediatorManager的作用有两点: 一是解除前端对Mediator子类的依赖,所有前端只需与MediatorManager交互,不需知道 阅读全文
摘要:
序言 第一篇讲解了UI与业务逻辑分层的框架(UIMediator)的使用。本篇将说明该框架的原理及代码实现。 整体结构 UI与后台类绑定主要分为UI输入->后台属性,后台属性-UI更新两部分,为符合依赖倒置原则,分别抽象出IUIToProperty和IPropertyToUI两个接口。 为了匹配Wi 阅读全文
摘要:
序言 本篇文章介绍基于Mono.Cecil实现静态AOP的两种方式:无交互AOP和交互式AOP。 概念介绍 Mono.Cecil:一个可加载并浏览现有程序集并进行动态修改并保存的.NET框架。 AOP:面向切面编程。可以简单理解为程序中的每个类的方法均是一块“积木”,采用AOP把新增的“积木随心所欲 阅读全文
摘要:
序言 .NET(C#)的WinForm如何简单易行地进行UI与业务逻辑分层?本系列文章介绍一个WinForm分层框架,该框架针对WinForm中的TextBox,CheckBox,RadioButton三种UI控件进行简单粗暴的UI与业务逻辑分层实现。 背景 软件行业发展至今,分层的思想可谓是深入人 阅读全文