1. 為了發送和處理請求(dispatching and handling requests) - Replace Conditional Dispatcher with Comaand
2. 為了從眾多[interface不同]的classes中收集資料 - Move Accumulation to Visitor