[置顶]python知识导航贴,持续更新

[置顶]C# 语言高级特性知识导航贴,持续更新

[置顶]netMarketing类库: 类库说明

[置顶]本站视觉相关教程整理贴子,持续更新

[置顶]C++相关导航贴,持续更新

[置顶]本站收费服务公告(netMarketing源码,工业自动化行业培训班等)

[置顶]2020年勇哥的机器视觉实验项目清单(大纲)

[置顶]本站连载贴子系列,持续更新中……

[置顶]勇哥的免费视频教程清单

[置顶]勇哥在B站发布的视频清单

[置顶]运动控制专题,持续更新

WF工作流持久化

VS2017里安装时没有选SQLServer express?那就下载一个下载Sql Server 2016 Express LocalDB,下载地址在这里 是英文版的 https://download.microsoft.com/download/9/0/7/907AD35F-9F9C-43A5-9789-52470555DB90/ENU/SqlLocalDB.msi然后执行然后执行testA...

WF工作流设计器

先创建一个WinForm应用程序吧,再放SplitContainer,再工具箱WPF项下elementHost分别放三个,如下再添加一个类,factory.cs代码:using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Activities.Pre...

OSGI.NET 服务示例

面向服务支持简介在该平台,一个服务由服务契约+服务实现组成。服务契约为服务接口,而服务实现则是实现服务接口的类。一般来讲服务契约由一个模块或者一个通用的程序集定义,服务实现模块和服务使用模块则都依赖于服务契约模块或者程序集。服务实现模块在激活器的Start方法中,利用传入该方法的参数context的AddService方法来注册服务,而服务使用模块则利用其激活器Start方法中的context的G...

OSGI.NET 模块化示例演示

Sample 01:一个简单的模块1 新建一个名为SimpleModuleShell的“控制台宿主应用程序”项目。2 添加一个新建项目,名称为SimpleModule项目,其项目路径指向SimpleModuleShell项目的bin\plugins文件夹,这样一个默认的模块便创建完成。3 新建的SimpleModule模块由Activator.cs文件和Manifest.xml文件组成。4 Man...

vs 2017或者vs 2019无建模项目吗?

先说结论,vs2017及以上版本没有建模项目。vs2015,vs2013则有。这些高版本被精简了。===========================================教一跨行同事学C#,我想从基础的讲一下,也就是最基本的面象对象分析与设计(OOAD),我直接打开我最新安装的 visual studio 2017。准备建一个“建模项目”。结果发现死活找不到?打开一个老项目也无法生成...

OSGi.NET 学习笔记 [高级话题] [如何划分模块?]

这应该是每次我们打算使用模块化框架来创建新的解决方案或者将已有程序重构时首先面对的一个问题。这里我们不谈详细的需求与功能点的探讨过程,直接拿假设的功能点作为讨论基础。比如我们现在准备实现一个简单的B/S的留言板程序,它需要如下功能1) 留言信息展示2) 增加留言信息3) 管理员登陆4) 管理员回复、删除留言传统的三层架构划分大概是这个样子,一种典型的横向划分。你可以将他们放在一个解决方案里...

OSGi.NET 学习笔记 [多环境支持] [高级话题]

 所谓的多环境支持,官方是这么介绍的  1) 支持控制台应用程序。  2) 支持Windows窗体应用程序。  3) 支持WPF应用程序。  4) 支持Windows服务应用程序。  5) 支持ASP.NET应用程序。  6) 支持Windows Mobile应用程序。  7) 支持UIOSP平台嵌套。  这个理解起来不难,主要是因为OSGi.NET是基于.NET框架且与语言以及类型无关,也就是说...

OSGi.NET 学习笔记 [热插拔与动态支持][概念][实例][小结]

  “热插拔和动态支持”应该算是OSGi.NET最有趣,最Cool的一个功能,官方文档是这样介绍的  1) 热插拔:所有的模块都可以被动态的添加和卸载。  2) 生命周期:模块生命周期状态由“已安装、已解析、正在启动、已激活、正在停止、已停止、已卸载”组成,每一个生命周期状态下,模块提供的功能都可能不同。  3) 动态:当模块执行任何生命周期操作时,模块会动态的想外界暴露或者隐藏它提供的功能,比如...

OSGi.NET 学习笔记 [模块可扩展支持][小结]

 通过上面的实例,我们可以具体体会到模块与模块之间的“动态信息注入”方式。这种方式的好处是  1) 首先,被注入方不需要知道将会被谁注入,保证了逻辑的单一性,易于横向扩展  2) 其次,注入的协议的可配置型,基于XML的描述,可实现很方便的修改和维护  3) 结合“接口加实现”的服务模式,可以快速整合各个模块的资源,实现了有效的“服务化”  上面的代码只是实现了注入,也就是当具体业务模块被运行环境...

OSGi.NET 学习笔记 [模块可扩展支持][概念][实例]

 目前为止我们已经了解了模块化的隔离策略,面向服务的交互策略,现在就该来看看更高级的模块扩展策略,这里的“可扩展”在官方文档是这么介绍的  1) 扩展点:通过标准XML节点<ExtensionPoint>来定义一个模块向其它模块暴露的扩展点。暴露扩展点的模块会监听并处理其它模块对其的扩展。  2) 扩展:通过标准XML节点<Extension>来定义一个模块对暴露扩展点的模...

OSGi.NET 学习笔记 [面向服务架构支持][实例][小结]

  这次我们继续延续“模块化和插件化”那个实例来做展示。  现有的代码,主程序依赖接口和接口实现的Calculator.Demo1程序集,也就说主程序不仅得知道具体的接口定义,还得知道这个接口具体实现的定义。理论上说,这是面向对象,但也是紧耦合。如果你要替换成另外一个接口实现,你就得重新修改、编译、发布主程序。如何避免这种修改呢?可以通过服务总线来重构它、隔离它、松耦合它。  好在OSGi.NET...

OSGi.NET 学习笔记 [面向服务架构支持][概念]

面向服务的体系结构,SOA,也是OSGi.NET中一个重要功能,主要是为了各个模块可以以一种统一和通用的方式进行交互。官方文档是这么说的  1) 服务绑定模型:支持典型的“服务注册 – 服务搜索 – 服务绑定”的服务绑定模型。服务提供商想服务注册表注册服务,服务消费者搜索服务注册表并绑定需要的服务。  2) 接口与实现隔离:每一个服务由“接口 + 实现”组成,接口相当于服务契约,而实现则是实现服务...

OSGi.NET 学习笔记 [模块化和插件化][小结]

 现在我们来对OSGi.NET的“模块化和插件化”做一个小结,再次把官方的说明拿出来  1) 物理隔离:基于UIOSP开发的模块是一个物理隔离的可单独部署的模块,每一个模块拥有独立的文件夹、类型空间、资源和类加载器。模块间互相独立、互相隔离且互不影响。    a) 先看看上面实例目录结构 b) 很明显的看出,三个模块的确是被“隔离“在三个不同的文件夹内,且Calculator.Demo1和Remo...

OSGi.NET 学习笔记 [模块化和插件化][实例]

 假设我们准备做一个计算器,是的,先从最简单的加减乘除开始。  1) 先确定一下是命令行显示,.NET 4.5,C#,VS 2012的开发环境;  2) 第一阶段实现加减乘除功能,用户输入计算公式,回车,返回计算结果;  3) 其他问题待定。  OK,先来分析一下如何做。  1) 逻辑上,简单来说,核心在计算,一种输入,计算和输出的过程。  2) 其他的就是界面和异常了。  稍微具体点,  1)...

OSGi.NET 学习笔记 [模块化和插件化][概念]

这算是OSGi的基础和灵魂,没有他,后面将要介绍的很多功能都会黯然失色。  先看文档怎么说:  1) 物理隔离:基于UIOSP开发的模块是一个物理隔离的可单独部署的模块,每一个模块拥有独立的文件夹、类型空间、资源和类加载器。模块间互相独立、互相隔离且互不影响。  2) 高度可重用:模块的重用不需要再更改任何代码,只需要将模块拷贝到UIOSP指定的插件目录下,它的功能便向其它模块暴露。  3) 规范...

OSGi.NET 学习笔记 [前言] [环境准备]

 了解什么是OSGi.NET?得先从OSGi讲起,这个名词代表了两层意思,一个是组织,一个是规范。这个规范最初是为了能让更多不同规格和功能的嵌入式设备互通互联,互相协作搭建“智能运行平台”。了解这点很重要,它决定了我们能用OSGi来做什么。通俗的来说,OSGi搞定了如何将不同种类的“东西”集成到一块儿,并让他们和谐相处,就像是PC的“主板”,主板上面有CPU,有内存,有网卡,有声卡等等,他们通过主...

OSGi.NET 学习笔记 [目录]

持续更新和调整中,本人学习笔记,非官方文档,难免疏漏,仅供参考。  OSGi.NET SDK下载地址。前言及环境准备模块化和插件化概念实例小结面向服务架构支持概念实例、小结模块可扩展支持概念、实例小结热插拔与动态支持概念、实例、小结多环境支持高级话题如何划分模块?...

在没SQL Server数据库情况下怎么打开.MDF文件?

勇哥想附加一个sql server的数据库,结果报错,说这个数据库是用高版本创建的,又遇到该死的版本问题了。于是想到怎么不用sql server management studio打开个数据库,这样我起码可以抄一下表结构,重建数据表。勇哥先打开vs2019,这已经是勇哥电脑里最高版本的vs了,这样确保比数据库文件的版本要高了。然后随便新建一个C#工程,在项目中点击工具→连接到数据库,选择数据库文件...

propertygrid.SelectedObject 挂接的对象属性变只读灰色不可以编辑

今天勇哥看到下面这种现象:propertygrid.SelectedObject 挂接的对象属性灰度不可以编辑有点奇怪,想不到为什么,后来发现是属性set被置为private了,去掉了即可以了。[Config, Description("测量框的行"), Category("HalconLineObj")] public double Ro...

Windows下的OpenCVSharp配置

OPenCvSharp是OpenCV的Net Warpper,应用最新的OpenCV库开发,目前放在github.。本人认为OpenCvSharp比EmguCV使用起来更为方便,因为函数更接近于原生的OpenCV库,只要有一定的OpenCV和C#知识,就能很快得上手,开发周期较短。OpenCvSharp官网:https://github.com/shimat/opencvsharpWindows下...

C#中out和ref的区别

引言:勇哥今天发现自己对out,ref的区别居然没有理解很透彻,只知道它们都是传地址方式进行工作的,并且ref需要进入前初始化,而out是在离开前必须被赋值。为了让代码更加规范,有必要把两者的特性详细了解一下。首先,俩者都是按地址传递的,使用后都将改变原来参数的数值。其次,ref可以把参数的数值传递进函数,但是out是要把参数清空,就是说你无法把一个数值从out传递进去的,out进去后,参数的数值...

WF 从入门到精通(第十五章):工作流和事务

学习完本章,你将掌握:1.了解传统的事务模型以及这种模型在哪些地方适合去使用,哪些地方不适合使用2.懂得在哪些地方不适合传统的事务以及什么时候是补偿事务的恰当时机3.看看怎样回滚或补偿事务4.看看怎样修改默认的补偿顺序如果你是写软件的,你迟早需要去理解事务处理。事务处理(transactionalprocessing)在这个 意义上是指写那些把信息记录到一个持久化资源的软件,这些持久化资源如数据库...

WF 从入门到精通(第十四章):基于状态的工作流

学习完本章,你将掌握:1.理解状态机的概念以及它怎样被模拟到工作流处理中的2.创建基于状态的工作流3.运用初始(initial)和终止(terminal)状态条件4.使用代码进行状态的切换在第四章“活动和工作流类型介绍”中,我阐述过你使用WF 所能创建的工作流类型,在那里我提到过基于状态的工作流。基于状态的工作流模型被认为是有限自动机(finitestate machine)。基于状态的工作流在工...

WF 从入门到精通(第十三章):打造自定义活动

学习完本章,你将掌握:1.了解对于创建一个功能齐全的自定义工作流活动来说哪些组件是必须的2.创建基本的自定义工作流活动3.在基本的自定义工作流活动中应用验证规则4.把基本的自定义工作流活动集成到Microsoft Visual Studio 的工作流视图设计器和工具箱中WF 并不可能涵盖到你可能在你的工作流中想要实现的各个方方面面。即使WF 对于开发社区来说仍是非常新的技术,但目前已经可以获得许多...

WF 从入门到精通(第十二章):策略和规则

学习完本章,你将掌握:1.知道在工作流处理过程中怎样进行策略和规则的处理2.理解前向链接以及这是如何影响到基于规则的工作流处理过程的3.为工作流处理过程创建规则4.结合Policy 活动来使用规则我敢肯定,我们中的大多数人编写面向过程的代码(imperative code)都很轻松自在。过程式代码指通过编程来实现业务处理过程的C#代码,例如,读取一个数据库表,增加这个表中某些列的值,然后把它们统统...

勇哥谈谈C#中的接口Interface的常用套路

勇哥带大家回顾一下面向对象编程和设计模式的精髓概念。面向对向程序的三大特征:封装,隐藏内部实现继承,复用现有代码多态,改写对象行为设计模式的核心思想:(1)设计模式最根本的意图是适应需求的变化。(2)编码应采用高内聚低耦合设计思想(3)针对接口编程,而不要针对实现编程(4)优先使用聚合,而不是继承(5)坚持开闭原则(OCP)注: 内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做...

WPF与Winform互操作:彼此窗体互相调用

WPF与Winform互操作[1]Winform调用WPF窗体创建Winform应用程序项目。打开VS2013,文件->新建->项目...,新建一个Windows窗体应用程序项目,项目名称为“Winform调用WPF窗体”。为Form1添加一个按钮,用于打开WPF窗体。创建待调用的WPF窗体。为解决方案添加一个WPF应用程序项目,右键解决方案,添加->新建项目,创建一个WPF应用...

vs编辑器中工程文件列表中那个红对勾图标是干什么用的?

有同事问起过这个问题。确实在有些代码中会见到文件名前面有这样的图标,见下图所示:但是有些工程却没有这些图标,比如下面的工程:勇哥听到这个问题,想了一下,确实之前见过这些图标,当时没有仔细这个。再一想,不就是在编辑netMarketing类库的工程时见过这个吗?原来有版本控制的工程,就会有这种图标。通常被git接管的代码,其目录下都有隐藏文件夹.git。见下图。-------------------...

WF 从入门到精通(第十一章):并行活动

学习完本章,你将掌握:1.理解在工作流环境中Parallel 活动是怎样执行的,并且懂得如何使用它们2.并行执行路径中的同步数据存取和临界代码区3.使用ConditionedActivityGroup 活动去执行根据条件表达式判断执行路径的并行活动在本书中截止目前为止,我们仅仅处理过顺序业务流程。如活动A 执行后转到活动B 的执行等等。我们还没看到过并行执行路径和由此通常伴随而来的错综复杂的情况。...

WF 从入门到精通(第十章):事件活动

学习完本章,你将掌握:1.使用HandleExtenalEvent 活动创建特定的事件处理程序2.在你的工作流中使用Delay 活动3.在你的工作流中使用EventDriven 活动4.在你的工作流中使用Listen 活动5.理解EventHandlingScope 活动在活动并发执行的情况下是怎样监听事件的在第八章(“调用外部方法和工作流”)中,你看过工作流怎样使用CallExternalMet...
会员中心
搜索
«    2024年3月    »
123
45678910
11121314151617
18192021222324
25262728293031
网站分类
标签列表
最新留言
    热门文章 | 热评文章 | 随机文章
文章归档
友情链接
  • 订阅本站的 RSS 2.0 新闻聚合
  • 扫描加本站机器视觉QQ群,验证答案为:halcon勇哥的机器视觉
  • 点击查阅微信群二维码
  • 扫描加勇哥的非标自动化群,验证答案:C#/C++/VB勇哥的非标自动化群
  • 扫描加站长微信:站长微信:abc496103864
  • 扫描加站长QQ:
  • 扫描赞赏本站:
  • 留言板:

Powered By Z-BlogPHP 1.7.2

Copyright Your skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864