得到它我想了解一下這個面試問題:OOP設計問題
一家軟件公司設計的管理員工的應用程序,並在其他功能中,計算工資。
符合該客戶要求目前的結構是:
abstract Class Employee;
Class Manager extends Employee;
Class Engineer extends Employee;
客戶現在想加入到支持不同類型的工資計算了誰上的小時工資,月工資工作的員工的能力。工程師和經理都可以。
該客戶還通知軟件公司,他們將在未來增加一些其他類型的工資。
問題 - 你會如何設計?如果出現任何設計模式解決方案?
謝謝!
謝謝。那是我的直覺。我會等一個小時看看其他意見。順便說一句 - 這不是比戰略更重要的代表嗎? http://p2p.wrox.com/book-professional-php-design-patterns/78122-differences-between-delegate-strategy-pattern.html – Turd
這裏使用「委託模式」表示員工不計算薪水本身,但委託給戰略對象。它沒有提到關於不同的薪水計算模型。 「戰略模式」意味着您將擁有不同的子類,每種類型的薪資計算都有一個子類。它沒有定義計算髮生的地方(不同的子類可能只是提供元數據來幫助「員工」做正確的計算)。這兩種模式都適用於這裏,我的「策略」就是面試官之後的事情。 –