设计模式之问题集锦(一)

来源:互联网 发布:售后服务 淘宝 编辑:程序博客网 时间:2024/05/15 06:22

      设计模式的主要资料是《大话设计模式》,第一阶段先看看各种模式的基本概念,实现每个模式下的例子。然后在进行理解性的学习和掌握,灵活掌握各种模式的优点,知道某种模式适合那种状态。现在,例子都已经基本实现了,虽然是跟着书上的例子敲的,但是还是遇到了不少问题。

    问题一:接口问题

     在敲第八章工厂方法模式的时候,遇到了下边的问题:


      这个问题以前也没有遇到过,不知道从何下手,认真比对代码后也没有找到错误。只好请教别人,经过提示,原来自己在定义接口的时候直接写在了program.cs中,这样就总是报错;修改方法就是把下面这个接口重新添加一个接口的控制窗口,这样就实现了。

namespace 第八章_工厂方法模式{            interface IFactory        {            LeiFeng CreateLeiFeng();        }    }
      想想这个错误,其实还是对代码的编写过程不是很了解,接口类最好给把它写在属于它的接口控制台位置,这样可以保持界面的美观,容易找出相关事项。


    问题二:享元模式

  

      看到这个提示信息,我就在代码中找到Hashtabel,一开始是认为自己少写了Hashtable这部分的代码,但是例子中根本就没有这部分的内容;然后网上查找相关资料了解到,这个表示哈希表,说实话看到这个真是不太理解,具体想干嘛也不是很清楚,不过看着这个的使用过程中,在命名空间的部分都有using System.Collections;这段代码,然后在自己所写的代码中加上这句后,问题就解决了。

      然后继续查找这个具体的原因:在.NET work中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似key/的键值对。这才对它有所了解,又仔细对照自己的代码,发现我一直看的是电子版的,这部分就没有使用那句代码,但是书上确实是提示我们添加的。所以今后一定要注意两者相结合着看,不能完全相信一个东西,百分之百正确的东西是不存在的。


    问题三:解释器模式

      可以说这部分是自己遇到问题最大的一次,调了好多遍,对了好多遍代码仍然无法运行,总是提示对象没有引用


     这个真是让人捉急啊,后来只好再次求助,捣鼓了老半天才找到问题之所在,还是以前经常遇到的问题


      图中所示的引号中必须加一个空格,否则就会提示上述错误。然后又联想到在学生信息管理系统和机房收费系统中都遇到过相同的问题,看来无论那种语言,其有很多地方都是共通的,都需要我们认真仔细的编写和调试。


      对于这部分的学习还需要继续努力,很多地方自己还只是停留在表面,需要继续深入的理解和研究。无论做过多少遍,问题总会有的,但是我们要有一颗不服输的心,相信不管遇到什么样的问题,一定可以解决的。

0 0
原创粉丝点击