摘要:
这节讲代理模式(Proxy Pattern)。 代理模式就是将两个类的直接耦合变为间接耦合,通过一个代理类做两个类的桥梁,这种模式既是对对象的代理,又能通过代理类实现被代理对象的扩展,就像我们买火车票可以不用去车站,可以直接在网上或者12306上买,这种购票第三方就是一种代理。并且可以扩展一些相关服 阅读全文
摘要:
这节讲建造者模式(Builder Pattern)。 有些情况下,一个大类需要依赖另外一些小类共同完成一个需求,就好像一个完整的手机需要CPU,屏幕等小零件组成。 建造者模式就用来处理这个组成过程,它的定义为:指将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被 阅读全文
摘要:
这节讲一下C#异常处理。 通过try{}块将可能会出错的代码包裹起来,后接catch块,try块出了错会走catch块,这一过程叫捕获异常。 int a = 2; try { a = a / 0; } catch { Console.WriteLine ("出错"); } 以上代码会抛出Divide 阅读全文
摘要:
这节讲一下接口(interface) 。 接口是一种特殊的抽象类,它用来定义一组行为规范,不同于抽象类的是,接口只能定义方法,并且只能定义抽象方法。类用继承来描述子类和父类之间的关系,而接口用实现来描述接口和类的关系。 interface IAnimal { void Shout (); } 接口有 阅读全文
摘要:
这节讲C#中的类,方法,属性。这是编码中我们最直接打交道的三个结构。 类: 类(class)是面向对象中最基本的单元,它是一种抽象,对现实世界中事物的抽象,在C#中使用class关键字声明一个类: class MyClass{} 类既然是一个抽象,我们使用的时候就要对其进行实例化,通过new关键字实 阅读全文
摘要:
这节讲一下,什么是面向对象(Object Oriented Programming)。说面向对象之前,我们不得不提的是面向过程(Process Oriented Programming),C语言就是面向过程的语言,这两者的区别在哪呢?我们可以设想一个情景——厨房做菜: 以面向过程的形式解释来说,第一 阅读全文
摘要:
这节讲一下.NET 中的一个技术:反射(Reflection)。 反射是一种很重要的技术,它可以在程序运行时,动态的获取类的实例,并调用实例中的任何方法。它就像一面镜子,映射出一个类的所有细节。 typeof 说反射之前,要先知道typeof这个关键字,它是反射的核心,typeof可以动态的获取某个 阅读全文
摘要:
这节讲一下原型模式,原型模式用于解决大量相同或相似对象的创建问题,传统的,我们实例化对象要用new关键字,在面对大量重复对象的创建情况下,new实例的过程是比较消耗资源的,所以我们可以利用一个对象作为原型,通过这个对象的不断克隆自己来产出一个个新实例(这跟js的原型对象并不相同,读者不要跟其做理论比 阅读全文
摘要:
在开发中,工厂模式为我们提供了一种松耦合的形式,在一些需要频繁构造比较复杂的对象时,就可以使用工厂模式,通过对象工厂为我们提供实例,这样在后期维护的时候可以统一的对实例对象的过程进行管理升级。 工厂模式分为三种:简单工厂模式,工厂方法模式,抽象工厂模式。 简单工厂模式: 先看一下代码: static 阅读全文
摘要:
大家应该都玩过超级马里奥,里边有怪物,马里奥正面碰撞就会掉血,有土块,马里奥用头顶就会弹出金币等等。从这个游戏中,我们就可以抽离出关于观察者模式的概念,马里奥是被观察者,怪物,土块等等是观察者,当被观察者“刺激”到观察者后,观察者就会执行对应的行动。 抽象的来说,观察者模式定义了一种一对多的依赖关系 阅读全文