2013-03-10 73 views
0

在貼出的問題的答案: 「What is the difference between data-centric and object-oriented application models?」我讀:爲什麼數據爲中心不好?

當你提的是「消息傳遞」的例子,你說要實現它一個 方式是數據中心(雖然你認爲它是一個不好的方式 )。

爲什麼數據爲中心是一個壞方法?瞭解RTI發佈的以數據爲中心的方法看起來是實時分佈式應用的一種有趣方法。

是否可選擇以消息爲中心?以應用爲中心?要麼?

+0

「RTI發佈的以數據爲中心的方法」 - 您指的是具有許多實現的OMG DDS標準。 – 2015-05-17 19:30:44

回答

1

以數據爲中心的設計有沒有有意義的方法的類。這些類只保存數據。這不是一個真正適合使用可以容納功能和屬性的東西。以數據爲中心的軟件還將它的所有功能都集中在幾個類中,這些功能都必須完成所有工作。

在一個繁忙的網絡中,如果我們經常引用相同的對象來完成所有的工作,那麼我們將快速開發任務隊列,如果各種責任被分割幾個班。

此外,這不符合像Dijksta's Separation of Concerns這樣的設計原則,這被認爲是很好的做法。

+0

但以數據爲中心的行爲是從數據庫中寫入和讀取數據,而它可以通過底層協議來實現,如發佈訂閱 – user2151986 2013-03-12 14:03:45

+0

這真的取決於我的猜測。通常數據中心對我來說也意味着不同的東西。在以數據爲中心的方法中,您經常會發現對象不可用的原則。它就像爲電子表格中的每一行寫一個Object類或寫一個代表電子表格的Object。 以這種方式來看待:以數據爲中心意味着數據意味着收集,因此意味着存儲在Evens的域驅動設計中。因此,Data Centric最適合通過圍繞它們構建存儲庫。 – 2015-02-27 21:59:19

+0

@christopher我不得不恭敬地不同意。數據中心不強制粒度級別。用戶可以自由地將功能分成他/她想要的任何數量的類。另外,以數據爲中心的設計可以肯定包含方法。不過,這裏的方法是爲了方便,而數據(成員)表示類的外部接口。 – 2015-05-17 18:33:11

0

對象包含數據和方法,以促進更加「自然」的符合RL規範的編程思維方式,您不僅擁有一個持有信息的「dosier」類,卷宗類也具有訪問方法數據如readPage(int pageNr)

放棄寫入方法當然是可行的,並且在某些情況下是可取的,例如不必使用我聲明爲DataTransferObject的反射,但大多數情況下這是浪費潛力。

+0

但是以數據爲中心的體系結構的職責是允許方法從這些數據中讀取數據?(如提供讀頁功能) – user2151986 2013-03-12 14:05:05

+0

對不起我認爲你錯過了動詞:以數據爲中心的架構「有」責任/「暗示」責任/「需求」責任?答案是沒有定義,但這是體系結構是自我限制的整點我不能推薦它,但對於特定的情況。 – 2013-03-12 19:36:17

+0

但你能解釋一下以數據爲中心和麪向消息的中間件之間的聯繫嗎?那麼我可以說數據中心實際上是在MOM的ambrella下嗎? – user2151986 2013-03-13 00:28:57