1.不要為了學習設計模式,而學《設計模式》。我們學習的時候看到的只是結果,並不了解過程和動機,也就是其他人在什麼樣的情況下做出這樣的設計,而這個恰恰是各種教程、資料上學習不到的。所以再遇到問題時,嘗試使用設計模式來解決這個問題。
2.避免過度使用設計模式,不要為了使用設計模式,而使用設計模式。設計模式只不過針對某些具體場景提供了一些效率較高的以複雜度換靈活性的手段而已,避免過度設計的關鍵是,你能正確評估未雨綢繆所引入的複雜度,相對於發生變動的可能性和破壞力,是否值得。而這種額外的複雜度會無形增加團隊內其他成員理解上以及**查錯的困難。
3.如果你已經看過某個設計模式的描述,要正確使用它的最基本前提是,你能完全看懂gof《設計模式》中對它的描述。很多「再談」、「妙解」、「大話」之類的書用模擬的方法降低設計模式的抽象性來幫助理解並沒有實質性的意義——即使你覺得自己懂了,你的抽象思維和開發經驗還未達到能正確使用這個模式的水平。
一些注意事項
0.解題思路 a.普通思路 b.遞迴 bfs dfs c.動態規劃 比遞迴快 d.雙指標 比for迴圈快 如 快慢指標方法 e.用棧 1.陣列初始化 int a new int 5 a 0 預設為0.二維陣列也一樣。boolean b new boolean 5 b 0 預設為false.strin...
單例模式的一些注意事項
單例模式是指程序單例,即再同一程序內是單例的,跨程序單例一般需要使用aidl service的模式。單例的三種模式 餓漢式 此模式一般用於此單例在程序開始時就可能被使用,因為是是static修飾的,所以在程序初始化的時候就建立了,基本現在看不到此種方法 public class instancede...
非同步FIFO設計的一些注意事項
非同步fifo的結構基本上是是按照下面的思路來設計 1.讀寫的指標分別用gray code sync到另外乙個clock domain,sync的時候至少打2拍。2.讀寫指標最高位各加乙個bit用來判斷空和慢,對於fifo來說,永遠是讀指標追寫指標,當指標相同的時候,用加的這個最高bit來 判斷是誰...