我的工作有以下用例撲克分析工具:設計圍繞一個第三方庫我的域模型
- 用戶創建策略類的一種方法:輸入遊戲狀態,輸出PokerAction
- 用戶運行分析腳本以啓動各種策略亞類之間的PokerGame(即各種策略)
- PokerGame生成隨機甲板
- PokerGame發送遊戲狀態到策略
- 斯特拉特埃及將PokerAction到PokerGame
- PokerGame更新遊戲狀態
- 當遊戲完成(由PokerGame管理),發送GameResult來分析腳本
- 用戶評論分析腳本的輸出
有一個第三方圖書館,執行所有的PokerGame功能。它與我在某些領域對域的建模(例如卡片值等)完全不匹配,但執行我所需的大部分「難以編碼」功能(即非重要的步驟4 - 7)。
一般設計問題 當面對這樣的庫(省去了大量硬編碼的,但可能會限制在相關項目未來的設計選擇),你傾向於你的項目的其餘部分模具庫?您是否重構了關鍵庫以符合您的域模型?或者是別的什麼?
感謝,
邁克
謝謝。我在Facade上選擇了Adapter,因爲我不確定我有一個「更簡單」的界面是多麼重要。 – MikeRand 2010-09-22 15:14:10