什麼是面向物件設計思想?許多從面向過程語言轉型的開發者,思維仍受舊範式束縛。本文從現象學溯源「物件」概念,透過資料庫設計實例,層層剖析 OO 分析與設計精髓,並對比 Java 與 C++ 在強制 OO 純度上的差異。
胡塞爾現象學定義:物件是客觀世界實體在人腦中的映象(概念),包含意向性。即使實體消失,概念仍存,我們能憑此辨識同類事物。軟體領域套用:將系統視為物件,由子物件組合,同類事物共享行為協定。
分層清晰、職責單一、複雜度局部化,大幅減輕設計負擔。
失敗主因:物件間關係未處理好、層次不分明。如元組層過度考慮表層因素、表層過度干涉元組細節。Java 禁止多重繼承,強制關係明確;C++ 雖功能強大,但保留面向過程殘留、多重繼承導致大規模專案關係極度複雜,後續維護極難。
優秀工程師能用適當工具開發優秀軟體,不拘泥語言。但語言限制能引導思想:Java 的限制更多,有助於培養純正 OO 思維。要開發優秀軟體,開發者必須具備良好的面向物件思想。