代码改变世界

随笔分类 -  【Design Pattern】

.net中的NULL

2010-12-15 15:39 by myjava2, 244 阅读, 收藏,
摘要: 从我们刚学.Net编程起,我们的程序不断被从天而降NullReferenceException打断。直到今天,我们仍然时常为C#的Null或者VB的Nothing困惑。什么情况下我们该返回null,如果参数是null代表什么。许多类型,有两种不同意义的空状态,一种是null,一种是其本身或其某个属性集合中没有元素,这就更容易产生误用。常听有人说,Null这个概念在编程语言中根本不应该存在。但是,从C++到Java到.Net,它从未离开过。最近,注意到.Net Framework在读取程序配置文件的一个小Bug。比如我在配置文件中,自定义了名为ReviewPeriod的节点: view sour 阅读全文

关于客户端编写的问题

2010-12-08 11:20 by myjava2, 142 阅读, 收藏,
摘要: 最近在敲大话设计模式中的C#代码.我是在看UML图去敲代码的.由于UML图中没有画出客户端的图. 导致写客户端的代码时,很是费力.不清楚该怎么写.没有一点的章法.总是蒙几句.最后运行出来了,感觉就是 对的,也不知道自己是怎么写出来的.让我从头写一次.和上次的感觉还是一样的.我仔细分析了一下.关于为什么不会写客户端.我感觉这不是一个单纯的编码问题.也不是你对语言的理解不深刻.其实是你对程序的过程理解不深刻,对各个类的职能不理解.对面向对象不理解.我这里只讨论控制台程序. 比如一个程序你不会写客户端,其实你就是不知道客户是如何调用它的. 这个面向对象的技术有很大关系.你的程序已近都把你将要用的类, 阅读全文

设计模式原则

2010-12-02 16:29 by myjava2, 182 阅读, 收藏,
摘要: 看了设计模式,最后看的总是感觉他们有很大的相似之处,就像是世界上万事万物都有其生存法则一样.仔细分析其实设计模式都是围绕一条主线来的。这就是设计模式的原则。你可以把设计原则比作一门语言。把设计模式当作这门语言编写出来的程序。如果你精通了语言剩下的编码就是很简单的事情了.对于层出不穷的设计模式,比如Gof的23种设计模式,MVC模式,到底应该怎样去学习,如果我们单纯的一个一个的研究设计模式本身,那么只能是越看越多,越来越乱.其实我们只要抓住设计模式的原则,就能很清楚的分析出它为什么会这么做.设计模式原则再加上OOP三大属性(封装,继承,多态)我们就能很清楚的理解设计模式.首先提出一下什么是设计模 阅读全文

virtual和abstract的区别(C#)

2010-11-27 20:14 by myjava2, 157 阅读, 收藏,
摘要: 在C#的学习中,容易混淆virtual方法和abstract方法的使用,现在来讨论一下二者的区别。二者都牵涉到在派生类中与override的配合使用。一、Virtual方法(虚方法)virtual 关键字用于在基类中修饰方法。virtual的使用会有两种情况:情况1:在基类中定义了virtual方法,但在派生类中没有重写该虚方法。那么在对派生类实例的调用中,该虚方法使用的是基类定义的方法。情况2:在基类中定义了virtual方法,然后在派生类中使用override重写该方法。那么在对派生类实例的调用中,该虚方法使用的是派生重写的方法。二、Abstract方法(抽象方法)abstract关键字只 阅读全文

看设计模式有感

2010-11-14 16:24 by myjava2, 170 阅读, 收藏,
摘要: 一:小菜"菜"吗? 最近一直在看大话设计模块,一本故事专业书. 给我的一个很大的感觉就是小菜不菜!书中把那个总是提出问题,设计的东西总是有缺点的同学叫做小菜.但是看的多了,有心里感觉到.小菜不菜. 比如刚开始的第一个程序,让写一个计算机程序.小菜很快的就写完了,最然说是基本上都是一锅粥.但是主要的作用还是都体现出来了. 后边写到的很多程序,比如装饰模式,代理模式.小菜也都是很快解决了.让我感觉到有点惭愧.小菜刚刚大学毕业,就有了基本上是基础的程序设计都可以完成. 想想俺们学校的有些学生,那就谈不上菜了,那就算是葱了? 上大三了,看到很多身边的同学还是在... 阅读全文

简单工厂模式

2010-11-13 14:29 by myjava2, 102 阅读, 收藏,
摘要: 开始看设计模式了,刚开始打算快速看完,然后再回过头来实现,但是走着发现这样不太好. 因为好多后边的模式应用到了前边的模式.前面的一知半解的话,导致后边的也知道一点. 就是什么也没有留下. 其次就是C#不太熟悉,需要实践一下.这样对看懂后来的模式会有很大的帮助. 下面说说简单工厂模式: 什么是简单工厂模式: 简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例.通俗的讲,也就是我这个公司能生产很多产品,但是具体在何种情况下生产何种产品是不知道的.必需由客户提供一个参数,也就是客户要我生产那个... 阅读全文