上一篇我们已经可以获取各种FileHandler的实例和对应的元数据.本篇,我们做一个稍微完整的文件管理器. 1.修改接口IFileHandler,传入文件名 namespace IPart { public interface IFileHandler { void Process(string fileName); } } 2.修改具体的FileHandler. using IPart; using System; using System.ComponentModel.Compositio…
我们已经成功的达到了目标,大量减少了if else. 不过在园子里面的文章大多,用的是Import.ImportMany.So,修改主函数. using IPart; using System; using System.Collections.Generic; using System.ComponentModel.Composition; using System.ComponentModel.Composition.Hosting; using System.Linq; namespace…
在上一篇文章中,我们已经学到了很基本的MEF概念和使用方法. 但我们导出的是一个object类型的实例,只能用来tostring,没有引用部件类库,也不能用里面的成员方法. 本篇,我们逐渐往简单的文件管理器的目标靠拢. 新建类库IPart,添加一个接口IFileHandler.cs namespace IPart { public interface IFileHandler { void Process(); } } Parts类库和主项目meftest均引用IPart Parts类库中,将要…
起因:工作需要针对不同类型的文件做不同的处理.打个比方,txt文件,直接打印,doc文件,直接发email,jpg文件,上传xxx相册站点. 其实这个问题在学习最基本的工厂模式的时候早已经解决了,稍有点面向对象基础的,都可以写出这样一个文件管理器.再有新类型文件处理的时候,只需要在加一个实现类,再在工厂里面加一个if判断,返回一个具体的处理实例即可,上层不必改动. 要干掉工厂里面的if,则必须要请出ioc容器了.MEF就是微软自家的托管可扩展框架,在这里被我用成了ioc容器,其他的功能,不求甚解…
上一篇我们已经获得了制定类型的实例,但我们还无法对其进行有效的控制. 我们用ExportMetadata属性可以对具体的某个实例做标记,相当于命名.这么理解不知道对否. 在IPart项目中添加一个接口IPatMetadata namespace IPart { public interface IPatMetadata { string Extension { get; }//以后缀名来区分,特别需要注意,这里的名称要和ExportMetadata里面的一致. } } 在导出的地方添加具体的导出…
一.概述 "光说不练假把式." 官网上的介绍多少让人迷迷糊糊的,各种高大上的词语仿佛让 NiFi 离我们越来越远. 实践是最好的老师.那就让我们试用一下 NiFi 吧! 二.安装 由于我的整个学习和使用过程都是在 Linux 下完成,所以,整个教程也是面向 Linux 用户的. 其他系统下的使用方法类似,如有其他系统的用户,那么还请有选择性的进行参考本教程. NiFi 是免安装地,仅需从官网下载压缩包,然后解压,旋即完成了整个安装过程. 官网下载压缩包:nifi.apache.org/…
salesforce 零基础开发入门学习(六)简单的数据增删改查页面的构建   VisualForce封装了很多的标签用来进行页面设计,本篇主要讲述简单的页面增删改查.使用的内容和设计到前台页面使用的标签相对简单,如果需要深入了解VF相关知识以及标签, 可以通过以下链接查看或下载: https://resources.docs.salesforce.com/200/latest/en-us/sfdc/pdf/salesforce_pages_developers_guide.pdf 下面以一个单…
服务端JavaScript 众所周知的,JavaScript是运行在浏览器的脚本语言,JavaScript通常作为客户端程序设计语言使用,以JavaScript写出的程序常在用户的浏览器上运行.直至Nodejs的出现,Node.js大部分基本模块都用JavaScript语言编写,Node.js的出现使JavaScript也能用于服务器端编程.Node.js含有一系列内置模块,使得程序可以脱离Apache HTTP Server或IIS,作为独立服务器运行. Node.js概况 Node.js允许…
首先先来讲讲闲话 如果让你现在去搞机器学习,你会去吗?不会的话是因为你对这方面不感兴趣,还是因为你觉得这东西太难了,自己肯定学不来?如果你觉的太难了,很好,相信看完这篇文章,你就会有胆量踏入机器学习这一领域. 机器学习(Machine-Learning),一个在才学一年编程的人看来十分高大尚的东西,不知不觉就接触了它.暑假的时候表哥给我布置了任务,在github上有一篇DeepLearningFlappyBird,他当时要我一天之内先让这段代码跑起来,然后第二天再把这段代码翻译成C++的....…
注意:Vue.js 不支持 IE8 及其以下 IE 版本.       具体可以看下  http://www.runoob.com/vue2/vue-tutorial.html 以下是学习过程 Vue.js 教程 Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式框架. Vue 只关注视图层, 采用自底向上增量开发的设计. Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件. Vue 学习起来非常简单,本教程基于 Vue 2.1.8 版本…