2009-03-03 49 views
0

我剛從一個設計會議中走出來,對我提出了一個問題,關於如何構建我們正在構建的某個項目的某些.dll的一些想法。說實話,我不知道這個「主意」來自哪裏,對我來說,這似乎是天生的知識。不過,如果我可以通過一些記錄分析來支持這些觀點,它將會很有用。用於設計.dll結構的資源

有沒有人知道任何明確討論構造程序集/模塊/源的不同機制的資源?

更新:

那麼這個想法沒什麼特別的。我們正在討論一些硬件的抽象層,因此使用這些服務的「應用程序」可以是(某種)平臺獨立的。以前我們有一個接口.dll聲明瞭應用程序需要的接口和一個實現.dll,它爲我們迄今爲止的一個平臺實現了它們。現在我們有兩個平臺,但它們非常相似。爲了防止接口.dll受到污染,或者某些可怕的情況下實現引用另一個,我只是建議我們創建另一個位於接口和特定platform.dlls之間的通用抽象實現可以存在的.dll文件。

+0

你的想法是什麼? – 2009-03-03 17:00:08

回答

2

如果你有一個機會,看看書由羅伯特C.馬丁:

Agile Principles, Patterns, and Practices in C#(這是專門針對.NET中的新版本)

有一個專用於組件章設計(可能)回答你的問題。

總之,閱讀這本書後,我總是由這些標準推薦的分離成分:

  • 組件是單位或重用:如果有必須一起使用類,他們去在同一個程序集中。

  • 程序集是變化的單位:如果因爲相同的原因不需要改變的類,它們可能不應該在同一個程序集中。

  • 程序集是部署單元:如果有類必須在同一地點物理部署,它們可能應該在同一個程序集中。

當然這些都只是啓發式和不食譜。您最終需要根據應用程序的體系結構目標(特別是部署和進化/修改的體系結構目標)來確定您需要的三種設計啓發式中每一種的多少。