设计模式的主要资料是《大话设计模式》。第一阶段先看看各种模式的基本概念。实现每一个模式下的样例。
然后在进行理解性的学习和掌握,灵活掌握各种模式的长处,知道某种模式适合那种状态。
如今,样例都已经基本实现了。尽管是跟着书上的样例敲的,可是还是遇到了不少问题。
问题一:接口问题
在敲第八章工厂方法模式的时候,遇到了下边的问题:
这个问题曾经也没有遇到过,不知道从何下手,认真比对代码后也没有找到错误。仅仅好请教别人,经过提示。原来自己在定义接口的时候直接写在了program.cs中,这样就总是报错;改动方法就是把以下这个接口又一次加入一个接口的控制窗体,这样就实现了。
namespace 第八章_工厂方法模式{ interface IFactory { LeiFeng CreateLeiFeng(); } }想想这个错误,事实上还是对代码的编写过程不是非常了解,接口类最好给把它写在属于它的接口控制台位置,这样能够保持界面的美观。easy找出相关事项。
问题二:享元模式
看到这个提示信息,我就在代码中找到Hashtabel,一開始是觉得自己少写了Hashtable这部分的代码。可是样例中根本就没有这部分的内容;然后网上查找相关资料了解到,这个表示哈希表,说实话看到这个真是不太理解,详细想干嘛也不是非常清楚,只是看着这个的使用过程中,在命名空间的部分都有using System.Collections;这段代码。然后在自己所写的代码中加上这句后,问题就攻克了。
然后继续查找这个详细的原因:在.NET work中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似key/的键值对。
这才对它有所了解。又细致对比自己的代码,发现我一直看的是电子版的。这部分就没有使用那句代码,可是书上确实是提示我们加入的。所以今后一定要注意两者相结合着看。不能全然相信一个东西,百分之百正确的东西是不存在的。
问题三:解释器模式
能够说这部分是自己遇到问题最大的一次。调了好多遍,对了好多遍代码仍然无法执行。总是提示对象没有引用
这个真是让人捉急啊,后来仅仅好再次求助,捣鼓了老半天才找到问题之所在,还是曾经常常遇到的问题
图中所看到的的引號中必须加一个空格,否则就会提示上述错误。
然后又联想到在学生信息管理系统和机房收费系统中都遇到过同样的问题。看来不管那种语言,其有非常多地方都是共通的,都须要我们认真细致的编写和调试。
对于这部分的学习还须要继续努力,非常多地方自己还仅仅是停留在表面,须要继续深入的理解和研究。不管做过多少遍,问题总会有的,可是我们要有一颗不服输的心。相信不管遇到什么样的问题,一定能够解决的。