摘要:
在Entity Framework 4.0提供了对POCO(简单传统CLR对象/Plain Old CLR Object)支持,这样让我们专注于业务逻辑和更有效的进行单元测试.并且POCO不需像默认EF实体一样要继承才能实现,所以可以更灵活的切换.本文将介绍如何自动生成POCO并替换EF生成的实体.实现两者的分离,独立于EF存在.下载安装POCO实体生成器本文使用的是Microsoft提供的T4模版,下载地址:http://visualstudiogallery.msdn.microsoft.com/23df0450-5677-4926-96cc-173d02752313/view/Discu 阅读全文
摘要:
通过使用泛型,我们可以极大地提高代码的重用度,同时还可以获得强类型的支持,避免了隐式的装箱、拆箱,在一定程度上提升了应用程序的性能。1.1 理解泛型1.1.1 为什么要有泛型?我想不论大家通过什么方式进入了计算机程序设计这个行业,都免不了要面对数据结构和算法这个话题。因为它是计算机科学的一门基础学科,往往越是底层的部分,对于数据结构或者算法的时间效率和空间效率的要求就越高。比如说,当你在一个集合类型(例如ArrayList)的实例上调用Sort()方法对它进行排序时,.Net框架在底层就应用了快速排序算法。.Net框架中快速排序方法名称叫QuickSort(),它位于Array类型中,这可以通 阅读全文
摘要:
和传统的分布式通信框架一样,WCF本质上提供一个跨进程、跨机器以致跨网络的服务调用。在本例中,客户端和服务通过运行在相同的同一台机器上不同进程模拟,WCF的服务不能孤立地存在,需要寄宿于一个运行着的进程中,我们把承载WCF服务的进程称为宿主,为服务指定宿主的过程称为服务寄宿(Service Hosting)。在我们的计算服务应用中,采用了两种服务寄宿方式:通过自我寄宿(Self-Hosting)的方式创建一个控制台应用作为服务的宿主(寄宿进程为Hosting.exe);通过IIS寄宿方式将服务寄宿于IIS中(寄宿进程为IIS的工作进行W3wp.exe)。客户端通过另一个控制台应用模拟(进程.. 阅读全文
摘要:
WCF是什么? 比较贴近官方的说法是:WCF(原代号为Indigo)是一个用于创建和运行分布式系统的技术集合,使用它能创建安全的(Secure)、可靠的(Reliable)、跨平台的(transacted messaging along with interoperability)的分布式解决方案。它的面向服务的编程模型整合了.Net平台下以往全部的分布式开发技术,例如.Net Remoting,Asp.Net Xml Web Service,MSMQ,WSE,和Enterprise Service等,它可以支持跨应用程序域(AppDomain),进程(Process),网络(NetWork) 阅读全文
摘要:
用一个例子来说明事件的使用。创建一个简单的类,名为FileWatch,包含事件OnfileChange。该类将检查在执行应用程序的目录(当前目录,通常是项目名/bin/debug)下,是否存在文件test.txt。如果文件被删除或创建,都将触发事件。同时提供一个方法MonitorFile以不断地查询该文件。方法:在创建一个可用事件之前,首先声明一个委托,放在类的外面。public delegate void FileWatchEventHandler(object sender,EventArgs e);接下来创建类FileWatch。然后声明事件,注意事件的类型即为我们之前定义的委托。pub 阅读全文
摘要:
一个类对象中,主要包括字段、属性和方法。不过除此之外,在类类型中还可以定义嵌套类,也可以定义一个常量。类的字段其实也是变量。如系列三中的类User,就包含有字段m_name,m_password,m_tryCounter。它们的类型分别为string,string,int。字段仍然可以利用public,internal,protected,private来修饰它。不过,我建议如非特殊情况,不要将字段修饰为public。因为,根据”对象封装”的原则,应尽量避免将一个类型的字段以公有方式提供给外部。毕竟,对于字段而言,对象对它的控制非常弱,一旦公开在外,则调用者可以比较容易的对其进行操作,尤其是写 阅读全文
摘要:
以下内容摘自园子里精彩的部分!面向对象思想有三个核心要素:封装、继承与多态。C#中,所有数据类型的实例都是“对象”,不过最能体现对象特质的类型,还是“类”,同时它也是C#中最重要、最频繁使用的类型。所谓“对象”,形象地说,我们可以把它理解为一块积木。设计积木的人需要设计积木的外观与形状,还有内部的材质。堆积木的人对于内部的材质并不关心,他们只需要根据不同的外观与形状来决定堆放的位置。因此,对于开发者而言,要设计面向对象的程序,同时会是两个迥然不同的身份:设计者与使用者。先谈谈使用者。使用者的身份,就是利用已经提供给你的所有对象,根据需求,设计出自己需要实现的程序。就如堆积木的过程。这恰恰是面向 阅读全文
摘要:
什么是“面向对象思想”?其精要当然是“一切皆为对象”的意义。软件的开发与设计,是围绕着开发的目标进行的。比如开发一个电子商务网站,那么与电子商务有关的都是我们要操作和关心的,商品、订单、用户、目录、购物车等等,都是对象。如果要开发一个论坛,那么论坛中必备的要素,如论坛分类、主题、帖子、评论、用户,也全都是对象。从小处说,我们要求写一个算法用以计算阶乘,那么起始值、运算结果、以及整个算法都是对象。那么对象具有什么特质?一般而言,一个对象应具有属性和行为。以现实世界为例,“人”作为一种特殊的动物,也是我们所称谓的“对象”。这个对象具有很多属性,例如姓名,身高、体重、民族、国籍、出生年月等等。而行为 阅读全文
摘要:
一、解决方案、项目、程序集、命名空间初学者很容易把这些概念搞混淆。先说说项目(Project),通俗的说,一个项目可以就是你开发的一个软件。在.Net下,一个项目可以表现为多种类型,如控制台应用程序,Windows应用程序,类库(Class Library),Web应用程序,Web Service,Windows控件等等。如果经过编译,从扩展名来看,应用程序都会被编译为.exe文件,而其余的会被编译为.dll文件。既然是.exe文件,就表明它是可以被执行的,表现在程序中,这些应用程序都有一个主程序入口点,即方法Main()。而类库,Windows控件等,则没有这个入口点,所以也不能直接执行,而 阅读全文
摘要:
期末考完试,正式进入了暑假团队学习的时间!有趣的是,在团队开2013夏季讨论会的前一天,团队的小伙伴们组织在一个晴朗的星期天一起打了场篮球。不被看好的.NET队顽强奋战,结果.NET队小胜Ruby队。哈哈!第二天,开夏季讨论meetting时就有不少人喊着脚酸啊之类的。分析了一下,原来搞程序的都太少锻炼啦,小伙伴们真的以后要经常锻炼才行啊!接下来的两天就是团队一年一度的夏季讨论会啦!进行地很顺利,还蹭了两顿饭吃!关键是开会的内容和自我总结:首先,总结一下前一阶段的工作和学习状况如下:技术基础差,在接到任务后,没办法准时、高质量地完成。学习的纯粹时间掌控地不好,时间规划以及对自己任务的制定上也出 阅读全文