跨越网络工作室

跨越网络工作室专注于网站建设、游戏软件和行业软件开发,目标就是为客户提供最好的服务.qq:1578065783
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2011年4月28日

摘要: IList是爸爸,List是儿子.IList<qc_fymczdInfo> A = new List<qc_fymczdInfo>();相当于,爸爸指向儿子.List<qc_fymczdInfo> B = new List<qc_fymczdInfo>();相当于儿子指向儿子(儿子就是儿子);IList<qc_fymczdInfo> A = new List<qc_fymczdInfo>();这种方法更能用一些.因为同样的爸爸,可以指向其他类型的儿子.B的使用就限定了儿子类型不能变更.ps:ObservableCollec 阅读全文

posted @ 2011-04-28 16:45 跨越网络工作室 阅读(184) 评论(1) 推荐(0)

摘要: 反射(Reflection)是.NET中的重要机制,通过放射,可以在运行时获得.NET中每一个类型(包括类、结构、委托、接口和枚举等)的成员,包括方法、属性、事件,以及构造函数等。还可以获得每个成员的名称、限定符和参数等。有了反射,即可对每一个类型了如指掌。如果获得了构造函数的信息,即可直接创建对象,即使这个对象的类型在编译时还不知道。 程序代码在编译后生成可执行的应用,我们首先要了解这种可执行应用程序的结构。 应用程序结构分为应用程序域—程序集—模块—类型—成员几个层次,公共语言运行库加载器管理应用程序域,这种管理包括将每个程序集加载到相应的应用程序域以及控制每个程序集中类型层次结构的内存布 阅读全文

posted @ 2011-04-28 13:30 跨越网络工作室 阅读(181) 评论(0) 推荐(0)

摘要: 我们写代码,是面向功能的,比方说, Math.Add(x, y)返回x y之和。但是有时候我们希望给代码附加一些特殊属性,而这些属性可能跟功能关系不大。比方说,我们希望Math.Add()能够作为Web服务的方法被调用。为了解决这个问题,.NET就提出Attribute(属性)概念,你可以写 [WebMethod] public int Add(int x, int y) { //... } 这样编译器在编译Add方法的时候,同时也会把[WebMethod]这个附加的属性也生成并注入到编译结果(程序集)的特定区域,我们称它为元数据区域。这样ASP.NET就可以在运行时扫描属性数据,识别各种We 阅读全文

posted @ 2011-04-28 13:28 跨越网络工作室 阅读(142) 评论(0) 推荐(0)

摘要: 抽象工厂模式向客户端提供一个接口,使得客户端在不必指定具体类型的情况下,创建多个产品族中的对象。本文采取的仍然是接着以前的那个快餐店的例子。 现在,快餐店经常良好,逐渐发展壮大,为了适合不同地方人的饮食习惯,创建了两大系列(相当于产品族)快餐,北方系列和南方系列。每个系列分别由一个大厨掌勺。 抽象工厂模式对新的产品族支持开闭原则,但对新的产品不支持开闭原则。例如增加新的产品族,如增加美国系列快餐(相当于增加了一个产品族),则只要从每个产品接口继承一个相应美国系列产品即可,不需要更改已有的代码。但如果增加新产品,比如增加了“馒头”这个产品,则它是不支持开闭原则的,因为你要在厨师接口中,增加返回“ 阅读全文

posted @ 2011-04-28 13:24 跨越网络工作室 阅读(221) 评论(0) 推荐(0)

摘要: 项目DALFactory是采用工厂模式设计的,设计模式的书我也曾看过java的设计模式,理解也不太深刻,但对工厂模式还是较为熟悉,使用它可以根据需求返回不同的实例对象,在DALFactory项目中使用反射机制来实现依赖注入,当然,它的实现还是没有java中的spring那样灵活,强大,部分代码如下:// <summary>/// 抽象工厂模式创建DAL。/// web.config 需要加入配置:(利用工厂模式+反射机制+缓存机制,实现动态创建不同的数据层对象接口)/// DataCache类在导出代码的文件夹里/// 可以把所有DAL类的创建放在这个DataAccess类里/// <appS 阅读全文

posted @ 2011-04-28 11:52 跨越网络工作室 阅读(475) 评论(0) 推荐(0)

摘要: c# interface定义:就是以前使用的类似于 API 的东西,别人告诉你一个类型,你在心得开发过程中可以使用。比如:interface ITest{ string iText();}class Test:ITest{ #region ITest Members public string iText() { // TODO: Add Test.printText implementation return ("Test string."); } #endregion}class Test2:ITest{ #region ITest Members public str 阅读全文

posted @ 2011-04-28 11:06 跨越网络工作室 阅读(690) 评论(0) 推荐(0)