06 2016 档案

摘要:反射用于在程序运行过程中,获取类里面的信息或发现程序集并运行的一个过程。通过反射可以获得.dll和.exe后缀的程序集里面的信息。使用反射可以看到一个程序集内部的类,接口,字段,属性,方法,特性等信息。 一、各种GetType()、typeof的区别 首先就是获取Tyoe对象的来源不同: 三者的区别 阅读全文
posted @ 2016-06-20 00:19 傲世狂枫 阅读(280) 评论(0) 推荐(0)
摘要:在C#中使用关键字 abstract 来定义抽象类和抽象方法。 不能初始化的类被叫做抽象类,它们只提供部分实现,但是另一个类可以继承它并且能创建它们的实例。 "一个包含一个或多个纯虚函数的类叫抽象类,抽象类不能被实例化,进一步一个抽象类只能通过接口和作为其它类的基类使用."- C++ Program 阅读全文
posted @ 2016-06-19 23:46 傲世狂枫 阅读(266) 评论(0) 推荐(0)
摘要:通过前面两篇,我想各位朋友对“面向接口编程”的思想有了一定认识,并通过第二篇的例子,获得了一定的直观印象。但是,第二篇中的例子旨在展示面向接口编程的实现方法,比较简单,不能体现出面向接口编程的优势和这种思想的内涵。那么,这一篇作为本系列的终结篇,将通过分析几个比较有深度的模式或架构,解析隐藏其背后的 阅读全文
posted @ 2016-06-19 20:09 傲世狂枫 阅读(210) 评论(0) 推荐(0)
摘要:通过上一篇文章的讨论,我想各位朋友对“面接接口编程”有了一个大致的了解。那么在这一篇里,我们用一个例子,让各位对这个重要的编程思想有个直观的印象。为充分考虑到初学者,所以这个例子非常简单,望各位高手见谅。 问题的提出 定义:现在我们要开发一个应用,模拟移动存储设备的读写,即计算机与U盘、MP3、移动 阅读全文
posted @ 2016-06-19 19:44 傲世狂枫 阅读(202) 评论(0) 推荐(0)
摘要:我想,对于各位使用面向对象编程语言的程序员来说,“接口”这个名词一定不陌生,但是不知各位有没有这样的疑惑:接口有什么用途?它和抽象类有什么区别?能不能用抽象类代替接口呢?而且,作为程序员,一定经常听到“面向接口编程”这个短语,那么它是什么意思?有什么思想内涵?和面向对象编程是什么关系?本文将一一解答 阅读全文
posted @ 2016-06-19 19:34 傲世狂枫 阅读(189) 评论(0) 推荐(0)
摘要:如何理解元数 我们可以把元数据理解为随类型一起导出的附加信息。有时候我们会考虑,把元数据随类型一并导出,增加一些说明,使得我们在导入的时候,可以多一些筛选条件。 默认的类型导出带有元数据吗 上面的内容我说得比较简洁,也许您不是很理解,不要紧,在编程里面,很多东西我们都是写了代码后才理解的。所以,我的 阅读全文
posted @ 2016-06-18 01:15 傲世狂枫 阅读(302) 评论(0) 推荐(0)
摘要:在前面的文章中,几乎每个示例我们都会接触到扩展类的搜索位置,我们也不妨想一下,既然是自动扩展,它肯定会有一个或者多人可供查找的位置,不然MEF框架怎么知道哪里有扩展组件呢? 就像我们用导航系统去查找某个地方的所有旅店一样,正因为在该地的旅店已在数据库中注册了相关信息,我们的导航系统才能查找到它,如果 阅读全文
posted @ 2016-06-18 01:13 傲世狂枫 阅读(201) 评论(0) 推荐(0)
摘要:过前面两篇文章的介绍,相信各位会明白MEF中有不少实用价值。上一文中我们也讨论了导入与导出,对于导出导入,今天我们再深入一点点,嗯,只是深入一点点而已,不会很难的,请大家务必放心,如果大家觉得看文章枯燥,不妨一边喝牛奶一边阅读。 上一文中我们都是把整个类型(整个类)进行导出,不过有时候,我们可能会考 阅读全文
posted @ 2016-06-18 01:12 傲世狂枫 阅读(270) 评论(0) 推荐(0)
摘要:上一文中,我们大致明白了,利用MEF框架实现自动扫描并组装扩展组件的思路。本文我们继续前进,从最初的定义公共接口开始,一步步学会如何使用MEF。 在上一文中我们知道,对于每一个实现了公共规范的扩展组件,都需要进行导出,随后我们的主应用程序文件中会自动进行组装。这便产生了一个疑问:为什么需要导出? 如 阅读全文
posted @ 2016-06-18 01:09 傲世狂枫 阅读(257) 评论(0) 推荐(0)
摘要:在过去,我们完成一套应用程序后,如果后面对其功能进行了扩展或修整,往往需要重新编译代码生成新的应用程序,然后再覆盖原来的程序。这样的扩展方式对于较小的或者不经常扩展和更新的应用程序来说是可以接受的,而对于像ERP系统那样复杂而且常常需要扩展的应用程序,这种扩展方法就不够方便,因为每次都要修改源代码或 阅读全文
posted @ 2016-06-18 01:05 傲世狂枫 阅读(276) 评论(0) 推荐(0)
摘要:1、面向接口编程:有一定编程经验的博友应该都熟悉或者了解这种编程思想,层和层之间通过接口依赖,下层不是直接给上层提供服务,而是定义一组接口供上层调用。至于具体的业务实现,那是开发中需要做的事情,在项目架构阶段,只需要定义好层与层之间的接口依赖,将框架搭起来,编译可以直接通过。为什么要有这么一种设计? 阅读全文
posted @ 2016-06-18 00:58 傲世狂枫 阅读(319) 评论(0) 推荐(0)
摘要:介绍了下MEF的基础用法,让我们对MEF有了一个抽象的认识。当然MEF的用法可能不限于此,比如MEF的目录服务、目录筛选、重组部件等高级应用在这里就不做过多讲解,因为博主觉得这些用法只有在某些特定的环境下面才会用到,着实不太普遍,感觉没有钻下去的必要。如果你有兴趣也可以去了解下。这篇打算将MEF和仓 阅读全文
posted @ 2016-06-18 00:32 傲世狂枫 阅读(272) 评论(0) 推荐(0)
摘要:1、什么是MEF 先来看msdn上面的解释:MEF(Managed Extensibility Framework)是一个用于创建可扩展的轻型应用程序的库。 应用程序开发人员可利用该库发现并使用扩展,而无需进行配置。 扩展开发人员还可以利用该库轻松地封装代码,避免生成脆弱的硬依赖项。 通过 MEF, 阅读全文
posted @ 2016-06-18 00:02 傲世狂枫 阅读(335) 评论(0) 推荐(0)
摘要:不知道大家有没有发现,在System.Speech.Synthesis命名空间下有一个SpeechSynthesizer类,它可以指定的文本内容进行语音朗读,而且,这个类用起来也严重简单,简单到什么程度? 试试看。 首先,新建一个项目,随便你建什么项目,反正能测试即可。 然后,添加对System.S 阅读全文
posted @ 2016-06-17 12:43 傲世狂枫 阅读(296) 评论(0) 推荐(0)