07 2009 档案
摘要:原文约定: 1.”attribute”和”attributes”均不翻译 2.”property”译为“属性” 3.msdn中的原句不翻译 4.”program entity”译为”语言元素”Attributes in C#介绍Attributes是一种新...
阅读全文
摘要:11.Façade外观(结构型模式)李建忠上海祝成科技高级培训讲师系统的复杂度假设我们需要开发一个坦克模拟系统用于模拟坦克车在各种作战环境中的行为,其中坦克系统由引擎、控制器、车轮、车身等各子系统构成。PublicclassWheel车轮{publicvoidWAction1(){....}publicvoidWAction2(){....}}publicclassEngine引擎{pu...
阅读全文
摘要:C#锐利体验2.0:局部类型、空属类型、静态类李建忠 上海祝成科技 高级讲师Agenda•局部类型 •空属类型 •静态类 •讲座总结局部类型的引入 •没有局部类型的时候(C# 1.0): class App { public void Foo() {……} …… public void Ba...
阅读全文
摘要:10. Decorator 装饰(结构型模式) 李建忠 上海祝成科技高级培训讲师 子类复子类,子类何其多 假如我们需要为游戏中开发一种坦克,除了各种不同型号的坦克外,我们还希望在不同场合中为其增加以下一种或多种功能:比如红外线夜视功能(IA),比如水陆两栖功能(IB),比如卫星定位功能(IC)等等。 // 抽象坦克 public abstract class Tank { publi...
阅读全文
摘要:9.Composite组合(结构型模式)李建忠海祝成科技高级培训讲师对象容器的问题在面向对象系统中,我们常会遇到一类具有“容器”特征的对象——即它们在充当对象的同时,又是其他对象的容器。publicclassSingleBox:IBox{publicvoidprocess(){……}}publicclassContainerB...
阅读全文
摘要:7.Adapter适配器(结构型模式)李建忠上海祝成科技高级培训讲师适配(转换)的概念无处不在……适配,即在不改变原有实现的基础上,将原先不兼容的接口转换为兼容的接口。动机(Motivation)在软件系统中,由于应用环境的变化,常常需要将“一些现存的对象”放在新的环境中应用,但是新环境要求的接口是这些现存对象所不满足的。如何应对这种“迁...
阅读全文
摘要:6.Prototype原型(创建型模式)李建忠上海祝成科技高级培训讲师依赖关系的倒置抽象不应该依赖于实现细节,实现细节应该依赖于抽象。–抽象A直接依赖于实现细节b–抽象A依赖于抽象B,实现细节b依赖于抽象B动机(Motivation)在软件系统中,经常面临着“某些结构复杂的对象“的创建工作;由于需求的变化,这些对象经常面临着剧烈的变化,但是它们却拥有...
阅读全文
摘要:5.FactoryMethod工厂方法(创建型模式)李建忠上海祝成科技高级培训讲师从耦合关系谈起耦合关系直接决定着软件面对变化时的行为–模块与模块之间的紧耦合使得软件面对变化时,相关的模块都要随之更改。–模块与模块之间的松耦合使得软件面对变化时,一些模块更容易被替换或者更改,但其他模块保持不变。动机(Motivation)在软件系统中,经常面临着“某个对象...
阅读全文
摘要:编程能力的四种心理境界 你属于那一种? --人类心理学研究中的一个基础支撑课题就是分析人的思维意识和潜意识。 Sigmund Freud是最早的一位能够清楚的认定和描述我们的心理活动领域的人。 在他著名的一生中的早期,他就指出我们的意识里分潜意识,前意识,意识。如果想弄清楚理解它们跟我们的思想、感觉、认知、判断和动机(这些在我们每日生活、职场中里的关键因素)有什么关联,我们可以把自己想象成一个冰...
阅读全文
摘要:3.AbstractFactory抽象工厂(创建型模式)李建忠上海祝成科技高级培训讲师new的问题常规的对象创建方法://创建一个Road对象Roadroad=newRoad();new的问题:–实现依赖,不能应对“具体实例化类型”的变化。解决思路:–封装变化点——哪里变化,封装哪里。–潜台词:如果没有变化,当然不...
阅读全文
摘要:4.Builder生成器(创建型模式)李建忠上海祝成科技高级培训讲师Builder模式的缘起•假设创建游戏中的一个房屋House设施,该房屋的构建由几个部分组成,且各个部分要富于变化。•如果使用最直观的设计方法,每一个房屋部分的变化,都将导致房屋构建的重新修正……动机(Motivation)在软件系统中,有时候面临着“一个复杂对象R...
阅读全文
摘要:导读:习惯的力量是惊人的。习惯能载着你走向成功,也能驮着你滑向失败。如何选择,完全取决于你自己。1.习惯的力量:35岁以前养成好习惯习惯的力量是惊人的,35岁以前养成的习惯决定着你是否成功。有这样一个寓言故事:一位没有继承人的富豪死后将自己的一大笔遗产赠送给远房的一位亲戚,这位亲戚是一个常年靠乞讨为生的乞丐。这名接受遗产的乞丐立即身价一变,成了百万富翁。新闻记者便来采访这名幸运的乞丐:"你继承了遗...
阅读全文
摘要:单件模式(Singleton Pattern)摘自李会军博客http://terrylee.cnblogs.com/archive/2005/12/09/293509.html概述Singleton模式要求一个类有且仅有一个实例,并且提供了一个全局的访问点。这就提出了一个问题:如何绕过常规的构造器,提供一种机制来保证一个类只有一个实例?客户程序在调用某一个类时,它是不会考虑这个类是否只能有一个实例...
阅读全文
摘要:《面向对象设计模式与原则》李建忠设计模式简介每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。——ChristopherAlexander设计模式描述了软件设计过程中某一类常见问题的一般性的解决方案。面向对象设计模式描述了面向对象设计过程中、特定场景下、类与相互通信的对象之间常见的组织关系。人是一个经验性的动物GoF23种设计模式•历...
阅读全文
摘要:1.数组声明的基本格式:[代码]2.利用foreach()语句遍历数组元素:[代码]3.数组的动态添加实现:[代码]4.ArrayList动态数组的实现: (1)ArrayList位于System.Collections命名空间里,ArrayList的对象是较为复杂的数组。 (2)ArrayList和Array的区别: a.Array的容量是固定的,而ArrayList的容量是可根据需要自动扩充的...
阅读全文
摘要:一、类: 1.包括以下几个要素 <1>字段 <2>属性 <3>方法 <4>事件 2.类的声明: pub...
阅读全文
摘要:在基于Windows平台的程序设计中,事件(event)是一个很重要的概念。因为在几乎所有的Windows应用程序中,都会涉及大量的异步调用,比如响应点击按钮、处理Windows系统消息等,这些异步调用都需要通过事件的方式来完成。即使在下一代开发平台——.NET中也不例外。那么什么是事件呢?所谓事件,就是由某个对象发出的消息,这个消息标志着某个特定的行为发生了,或者某个特定...
阅读全文
摘要:四种简单的排序算法我觉得如果想成为一名优秀的开发者,不仅要积极学习时下流行的新技术,比如WCF、Asp.Net MVC、AJAX等,熟练应用一些已经比较成熟的技术,比如Asp.Net、WinForm。还应该有着牢固的计算机基础知识,比如数据结构、操作系统、编译原理、网络与数据通信等。有的朋友可能觉得这方面的东西过于艰深和理论化,望而却步,但我觉得假日里花上一个下午的时间,研究一种算法或者一种数据结...
阅读全文