設計模式之問題集錦(一)
設計模式的主要資料是《大話設計模式》。第一階段先看看各種模式的基本概念。實現每一個模式下的樣例。
然後在進行理解性的學習和掌握,靈活掌握各種模式的長處,知道某種模式適合那種狀態。
如今,樣例都已經基本實現了。盡管是跟著書上的樣例敲的,可是還是遇到了不少問題。
問題一:接口問題
在敲第八章工廠方法模式的時候,遇到了下邊的問題:
這個問題曾經也沒有遇到過,不知道從何下手,認真比對代碼後也沒有找到錯誤。僅僅好請教別人,經過提示。原來自己在定義接口的時候直接寫在了program.cs中,這樣就總是報錯;改動方法就是把以下這個接口又一次加入一個接口的控制窗體,這樣就實現了。
namespace 第八章_工廠方法模式 { interface IFactory { LeiFeng CreateLeiFeng(); } }想想這個錯誤,事實上還是對代碼的編寫過程不是非常了解,接口類最好給把它寫在屬於它的接口控制臺位置,這樣能夠保持界面的美觀。easy找出相關事項。
問題二:享元模式
看到這個提示信息,我就在代碼中找到Hashtabel,一開始是覺得自己少寫了Hashtable這部分的代碼。可是樣例中根本就沒有這部分的內容;然後網上查找相關資料了解到,這個表示哈希表,說實話看到這個真是不太理解,詳細想幹嘛也不是非常清楚,只是看著這個的使用過程中,在命名空間的部分都有using System.Collections;這段代碼。然後在自己所寫的代碼中加上這句後,問題就攻克了。
然後繼續查找這個詳細的原因:在.NET work中,Hashtable是System.Collections命名空間提供的一個容器,用於處理和表現類似key/的鍵值對。
這才對它有所了解。又細致對比自己的代碼,發現我一直看的是電子版的。這部分就沒有使用那句代碼,可是書上確實是提示我們加入的。所以今後一定要註意兩者相結合著看。不能全然相信一個東西,百分之百正確的東西是不存在的。
問題三:解釋器模式
能夠說這部分是自己遇到問題最大的一次。調了好多遍,對了好多遍代碼仍然無法執行。總是提示對象沒有引用
這個真是讓人捉急啊,後來僅僅好再次求助,搗鼓了老半天才找到問題之所在,還是曾經常常遇到的問題
圖中所看到的的引號中必須加一個空格,否則就會提示上述錯誤。
然後又聯想到在學生信息管理系統和機房收費系統中都遇到過同樣的問題。看來不管那種語言,其有非常多地方都是共通的,都須要我們認真細致的編寫和調試。
對於這部分的學習還須要繼續努力,非常多地方自己還僅僅是停留在表面,須要繼續深入的理解和研究。不管做過多少遍,問題總會有的,可是我們要有一顆不服輸的心。相信不管遇到什麽樣的問題,一定能夠解決的。
設計模式之問題集錦(一)