我試圖熟悉設計模式,模塊化,單元測試等(使用ActionScript)。As3:轉換工具體系結構建議
我現在正在開發一個簡單的「自由變換工具」,就像練習一樣,但我不喜歡我到目前爲止提出的解決方案,所以我會盡量走你的路線的想法。當我提出這個想法時,我想「寫什麼才能測試這個偉大的單元測試框架FlexUnit」,我看到的第一件事就是猜測......一個自由變換工具。 :)當我思考的工具,我運行的每個場景槽的架構「我怎樣才能編寫單元測試什麼東西?」,所以我想出了某種扭曲的MVC元模式的:
- 一查看所有組件(旋轉區域,拖動區域,調整大小按鈕)
- 模型(或類似的東西),持有必要的邏輯(setSize,setPositiom,rotateAroundCenter等..)。
- 還有一個控制器,它將偵聽器添加到視圖組件,更新鼠標光標,當它與組件交互時,獲取鼠標座標,當與組件交互時,執行計算並調用模型中的方法,以更新視圖和良性轉化的對象。
我在想:「確定它的靈活性,我可以隨時切換M,V或C,我實現了我的主要目標,因爲我可以對模型進行大量的單元測試,其中重要的計算是,所以它很棒..「。
我剛剛開始實施它,但我認爲這些想法大多是錯誤的。是的,我可以改變視圖並添加新的皮膚,但它根本不靈活,如果我想添加「skew」(或任何其他)功能,我應該重寫(或者如果我很幸運,只是擴展)M,V和C. 是的,我可以對模型進行束單元測試,但控制器的計算將很難測試。
所以現在我正在考慮像裝飾模式,這將允許我創建任何組合的控件我想要使用和保持其邏輯分離,但我想有選擇重新皮膚控制自己並保持邏輯分離,所以我可以做測試。
我意識到我想創造某種「終極轉換工具」,但我真的試圖推動我的極限並學習一些東西。
是簡單的問題,「你會建議什麼樣的設計模式我用它來構建這個工具?」 – Aaron 2012-01-27 02:46:52