今天,我想談談原型構造。在實際工作中,我們重視原型嗎?當我深入研讀原型的很多論文,再結合自己的項目實踐,發現原型在軟體研發過程中有舉足輕重的作用。編寫原型可以作為技術探索、可行性驗證和輔助理清思路的手段。但是,顯然,選擇“編寫原型”的時機往往比編寫原型本身難,那是因為,我們常常都沒有在規範的軟體研發流程指導下工作。在我總結的軟體研發核心工作流程中,我把原型構造放在全域設計階段之後是有特殊的原因:第一,經曆一次或多次的迭代後,每一次迭代,一個“分析局部”都演化為一個“設計局部”。第二,全域設計階段著眼於總的視圖, 歸納了多個 “設計局部”,這一階段的設計模型有以下特點:
l 層次架構穩健。
l 包與包的關聯關係穩定。
l 類與包的關聯關係穩定。
l 類與類的關係基本穩定,但是,關聯關係的強弱還不確定。
l 類的職責是明確的,但是,類的職責還不是具有嚴格語義的方法簽名。
因此基於全域設計階段而構造的原型有以下特點:
l 層次架構穩健。
l 命名空間與命名空間的關聯關係穩定。
l 類與命名空間的關聯關係穩定。
l 類與類關聯關係不穩定,原型程式員根據需要可以調整關聯關係的強弱,比如:把彙總調整為依賴。
l 類的方法簽名不穩定,原型程式員根據需要可以調整方法的名稱、參數及傳回型別等。
在另一個時間要求苛刻的項目中,我總結了選取原型的策略,
第一:捨棄原型,依據法則有:
l 開發原型是技術探索的手段,
l 開發原型進行可行性驗證,
l 把開發原型作為輔助理清思路的手段。
結果,這種我們最終能從這種原型進行代碼級複用。
第二:沿用原型,依據法則有:
l 開發原型並但並不進行技術探索,
l 開發原型也不是要進行可行性驗證,
l 開發原型無助於輔助理清思路
l 基於規範的設計來編寫原型。
結果,這種原型是我們工作產品的一部分,只是處於 “原型”階段而已。我們能從這種原型複用以下內容:
l 原型的層次架構。
l 原型的命名空間與命名空間的穩定的關聯關係。
l 原型類與命名空間的穩定的關聯關係。
l 原型類與類的穩定的關聯關係。
l 原型類的方法實現邏輯。
希望對大家有所協助,歡迎反饋!