1
好的,通常當我使用命令模式時,我通過構造函數傳入參數。但是,我目前的設計並不真的允許。是的原因是,我從啓動一個XML文件裝載數據,所以我可能是這樣的:因爲它們是因爲它們傳遞給命令工廠對象,然後創建一個字符串讀取將參數傳遞給命令模式
<Actor>
<InputComponent>
<Mapping Type="Drag" Key=1 Command="MoveCommand"/>
<Mapping Type="Press" Key=16 Command="FillerCommand"/>
<Mapping Type="Click" Key=2 Command="FillerCommand"/>
</InputComponent>
</Actor>
糾正命令對象並將它們回傳給輸入組件。這意味着我無法訪問它們,因此無法通過構造函數指定特殊參數。我可以通過一個指向Execute成員函數的void指針傳遞這個額外的信息,但這非常不安全。我也可以將XML元素傳遞給命令工廠,並讓他們從更多xml屬性(當前方法)初始化自己,但它仍然感覺像是一個黑客解決方案。歡迎大家提出意見。