2019 年 3 月

第 34 卷,第 3 期

本文章是由機器翻譯。

[編者小記]

赤裸裸的野心

藉由Michael Desmond |2019 年 3 月

Michael Desmond物件導向程式設計 (OOP) 具有適用於開發人員回到 Alan Kay 和程式設計語言在 1980 年代他 Smalltalk,建立這項成就的目標。它很難證明物件導向的方法來加速開發功能模組化、 可重複使用程式碼簡化維護,並提升產能的優點。多年來,我們也知道最廣泛採用的許多物件導向使用程式設計語言和架構,c + + 來 Java C#。

但如 Ted Neward 在他的程式設計師雜談專欄一年的開頭 (msdn.com/magazine/mt848703),ultimate 承諾的 OOP,仍有尚未完成處理的範圍。他在該資料行中,引進了巢狀的物件 (nakedobjects.org),專門用來構成完整的物件的概念的 Richard Pawson 所開發的架構模式。不同於大部分主流 OOP 實作中,巢狀的物件會封裝所有商務邏輯,做為領域實體上的方法。開發人員不需要定義檢視或控制站,並從蒐集,透過反映,在執行階段物件的中繼資料自動產生 UI。

Neward 說 「 他們發現反映、 夢想或 imagines 建置系統,這就是為什麼我認為 Naked 物件是做為模型檢查因此兼具教育性之後,我認為每位資深的開發人員 」。「 就比大多數的開發人員知道,而且我認為的是,許多人根本不知道它哪些 hurts 部分存在的話,更可行。 」

巢狀的物件會有其開始為 Pawson,人員瀏覽之後 Alan Kay 1990 年代初期的對話內容深度的物件導向啟發的博士論文。Pawson 所見,儘管顯而易見的好處,有幾個商務系統正在中開發 OOP。和他的評論,」 指的做法有未取得 OOP 承諾的明顯優點的種類。我是很希望能夠了解原因。 」

他的結論:理論上提升的效能行為上由完整的物件為基礎的範例已建立上述的程式碼,並以下領域模型層中實際的應用程式所需的所有工作的位移。簡單地說,「 在增加的複雜性遺失構成完整的網域物件的優點 」,表示 Pawson。

巢狀的物件位址這些中斷連線,同時避免建立及維護的 UI 層中,工作表示 Pawson。「 您取得的 UI,都能完全一致的作業,甚至是非常複雜的領域模型的優點 」。

找不到大量的巢狀物件的部署,但確實存在。愛爾蘭部門的社交保護已自 2004 年起,以建立巢狀的物件上其企業系統。Pawson 顯示部門已透過三種截然不同的架構,而不需要任何變更移至基礎的網域程式碼 — Windows Presentation Foundation 大型用戶端模型、 精簡型用戶端模型在 ASP 中執行。MVC,以及目前的單一頁面應用程式寫入在 Angular 和使用透過 RESTful API 的伺服器進行通訊。

「 自己的商業模型的複雜性 — 4,000 plus 網域類別 ! — 是異常的成就,」 他說。

是巢狀的物件可能是在您的下一個專案的點選?大概不會吧。但 Pawson 備忘稿,為它提供適用於開發人員不論 engagement 課程。

「 巢狀物件容易更遵守的音效軟體設計的原則數目 」 表示 Pawson。「 領域導向設計,關注點分離,在模組化和,多型。 」

這些課程存在於 Neward 的進行中的巢狀的物件序列。請務必瞧瞧他在本月期刊中最新。


Michael Desmond是的總編輯MSDN Magazine。