Question 1 : troubleshooting:昨天面試官問我,你認為工廠模式的優點是什么?
Answer :我回答道,原來創建一個對象是自己new,而現在可以直接通過工廠將我需要的對象直接給我。
面試官又說,還有其他呢,有沒有使用工廠模式寫過計算器?沒有,我答道。
回來之后,使用基於簡單工廠模式和工廠方法模式分別寫了一下簡單的計算器實現。細細品味了工廠模式的好處。
就目前我所知好處如下:
1.原來創建一個對象是自己new,而現在可以直接通過工廠將我需要的對象直接給我。
2.使用工廠模式易於功能擴展,例如有個汽車生產工廠,原來有比亞迪產線、大眾產線,現在要加一條凱迪拉克產線。只需返回汽車汽車類共有的(父類)凱迪拉克類的對象(此對象是多態對象),而不對其他產線造成影響。
3.遵循代碼開閉原則
4.封裝性,對外只保留基類(所有產線共有特征類),具體實現交由工廠幫我選擇。