上一页 1 ··· 3 4 5 6 7 8 9 10 11 12 下一页
摘要: 有时我们需要在窗体应用程序中同时启动控制台显示我们的程序运行情况等等,这个时候我们有两种解决方式: 1.项目->属性->应用程序->输出类型->控制台应用程序。 2.在form的cs文件添加如下代码: /// <summary> /// 控制台程序 /// </summary> public class ConsoleEx { /// <summary> /// 启动控制台 /// </summary> [DllImport("kernel32.dll")] public static extern b 阅读全文
posted @ 2012-10-24 16:12 怡馨 阅读(5369) 评论(0) 推荐(0) 编辑
摘要: 关于Assembly.CreateInstance()与Activator.CreateInstance()方法动态创建类对象,大多是Activator.CreateInstance()和 Activator.CreateInstance<T>()方法,非常好用,一般都用了 Assembly.Load("AssemblyName").CreateInstance ("ClassName");的方法,研究一下这两者到底有什么区别,在msdn里,查到了两个方法的介绍:Assembly.CreateInstance 方法 (String)使用区分大 阅读全文
posted @ 2012-10-24 14:31 怡馨 阅读(14177) 评论(1) 推荐(1) 编辑
摘要: 摘要:本文作者将给大家分享一下C#插件式程序开发经验,在共同讨论的过程中能共同进步。 在网上找了下插件式编程的资料,这里自己先借鉴下别人的,同时发现有自己的看法,不过由于本人水平有限,不一定有参考价值,写出来一方面是为了总结自己,以求提高,另一方面也希望各为朋友看到我的不足,给我提出宝贵意见。 什么是插件式编程 提起插件式,我们首先想到的是firefox, 用过firefox的人都知道它是一个插件式程序。当一个功能需要,完全可以从网上下载一个插件后,重启后,就能使用。这个功能给我们带来许多的方便之处,这就是插件式程序的好处。 插件的本质在于不修改程序主体(平台)的情况下对软件功能进行拓... 阅读全文
posted @ 2012-10-24 10:12 怡馨 阅读(593) 评论(0) 推荐(0) 编辑
摘要: 一、前言插件模型指应用程序由一些动态的独立模块构成,每个模块均具有一个或多个服务,并满足一定的插件协议,能够借助主程序实现主程序-插件,插件-插件之间的 通讯。它定义了一套公共的接口,通过接口与插件进行通信,主要是通过反射来获取相关的属性和方法,然后再执行指定的操作。其实,它也可以理解为定义一套通 用的解决方案,通过反射来获取相应的程序集的相关类型,然后执行这些指定类型的相关操作。它是一种即插即用的方案,更新及维护简便。本文仅仅是描述插件开发的大体模型,设计比较简单,主要的步骤如下:(1)、定义公共的接口以及抽象类。(2)、定义和实现相关组件。(3)、实现通用程序集反射操作类。其中,公共的接口 阅读全文
posted @ 2012-10-24 10:08 怡馨 阅读(451) 评论(0) 推荐(0) 编辑
摘要: 之前一直想学学插件编程,主要的原因是感到现在的客户需求变化不定,如果把全部功能整合在一个执行文件中的话,修改,升级起来很不方便,所以想采用 插件编程的方式,只需要构建好了程序框架之后,每完成一个功能,就可以让用户审核一个,化整为零,让开发团队和客户都能构掌握项目开发的进度.同 时大家通过这种方式,增强对项目按时完成的信心. 以下资料主要是从hahablog中获得的,从网上找了很多类似的资料,只有这个我觉得是比较适合初学者 复制 保存//1 定义插件接口,将其编译成 dll,例如:using System;namespace PluginInterface{public interface IS 阅读全文
posted @ 2012-10-24 10:06 怡馨 阅读(361) 评论(0) 推荐(0) 编辑
摘要: 类和对象的关系--使用关系原则4.1 尽量减少类的协作的数量,即减少使用者和被使用者的数量。 协作意味着一定程度的耦合,但是完全没有协作的类也是没有意义的,最多只能作为一个库使用。 通过抽象,依赖接口,可以最大程度减少依赖的实现类,对使用者来说,只看到接口的依赖,而具体的实现的依赖可以通后后期绑定来配置依赖关系。 如 菜单----〉牛肉 ----〉羊肉 ----〉鸡肉 可以抽象为 菜单---->肉类<===牛肉 <===羊肉 <===鸡肉 其中---->代表使用,<====代表实现4.2 尽量减少类和协作者之间传递的消息的数量。 4.3 尽量减少类与协作者之 阅读全文
posted @ 2012-10-23 16:31 怡馨 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 4.5 如果类包含另一个类的对象,那么包含类应当向被包含的对象发送消息(调用方法)。 也就是说,所有的包含关系都应当是使用关系。 如果不是这样,那么包含的类有什么用处呢?当然,面向过程的开发人员会想到可能有一个Get方法供其它类使用这个包含的对象,那么按照“数据隐藏原则”,为什么不让使用包含类的类直接包含被包含的这个对象呢?包含一个对象一定是需要使用它才包含。 比如说汽车包含了发动机,如果违背这条原则的话则定义如下:[cpp] view plaincopyclass汽车{发动机m_发动机;发动机Get发动机(){returnm_发动机;}}//对于使用驾驶员来说,汽车的操作如下:发动机a=汽车 阅读全文
posted @ 2012-10-23 15:57 怡馨 阅读(665) 评论(0) 推荐(0) 编辑
摘要: OOD沉思录 之 导引 一个对象一定会有如下4个属性: 1,它的身份标示,可能只是它在内存中的地址; 2,它的类的属性(通常是静态属性)和这些属性的值(通常是动态的); 3,它的类的行为(从实现者的角度看); 3,它的公开接口(从用户的角度看).2.1 所有数据都应该隐藏在它所在的类内部. 考虑最简单的点Point类(X,Y),再考虑可能点的实现是用的极坐标,那么是否该领悟到这一点了?2.2,类的使用者必须依赖类的公共接口,但类不能依赖它的使用者. 房子可以依赖闹钟,但是闹钟不能依赖房子,否则这个闹钟就不能放到别的地方了2.3,尽量减少类的的方法的数量 几年前,部分人所提倡的原则与此正好相反, 阅读全文
posted @ 2012-10-23 15:52 怡馨 阅读(489) 评论(0) 推荐(0) 编辑
摘要: 前言 此文译自CodeProject上<How I explained OOD to my wife>一文,该文章在Top Articles上排名第3,读了之后觉得非常好,就翻译出来,供不想读英文的同学参考学习。 作者(Shubho)的妻子(Farhana)打算重新做一名软件工程师(她本来是,后来因为他们孩子出生放弃了),于是作者就试图根据自己在软件开发设计方面的经验帮助她学习面向对象设计(OOD)。 自作者从事软件开发开始,作者常常注意到不管技术问题看起来多复杂,如果从现实生活的角度解释并以对答的方式讨论,那么它将变得更简单。现在他们把在OOD方面有些富有成效的对话分享出来,你可 阅读全文
posted @ 2012-10-23 11:38 怡馨 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 前几天,园子里评论比较高的一篇文章是《如何向妻子解释OOD》,这 篇文章用交谈的方式,用生活中的示例来讲述面向对象编程的一些相关概念。一般这样的文章读起来都会朗朗上口,也非常好理解,因为都是生活中实际的例子。但 是也有读者在下面的评论里说,他以前经常看一些用小猫小狗,汽车等用来讲解面向对象的文章,看的时候很有感觉,但是事后很快就遗忘了,更别说应用到自己的 项目中。实际上这不难理解,面向对象本身的目的就是提高抽象层次。更抽象的东西当然也就更难理解,也更难操作。所以大部分面向对象的书 籍也都以一些具体的示例来讲解,这样才好将一些东西落实,不然容易给人一种泛泛而谈的感觉。但是,因为每个人的项目都各有 阅读全文
posted @ 2012-10-23 11:36 怡馨 阅读(325) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 12 下一页