沒錯!您的直覺非常準確,這正是整個創建型模式(Creational Patterns)核心要解決的根本問題。
在軟體開發中,直接使用
new 關鍵字來建立物件(例如 MyClass obj = new MyClass();)雖然直覺又方便,但在中大型系統或需要高度擴充性的架構中,直接使用 new 會帶來幾個致命的痛點。創建型模式的存在,就是為了將「物件的建立邏輯」與「物件的使用方式」徹底解耦。直接使用
new 會遇到以下幾種不適合的狀況: