我真的很喜歡能夠組織我的對象,像這樣Source
是Document
對象內部的對象。對象 - 屬性最佳實踐
方法#1
Dim doc As New Process.Document()
doc.Source.Type = "URL"
doc.Source.Data = "http://myOtherDomain/MyOtherPage.htm"
但是,它是一個更好的做法,做這樣的事情?
方法2
Dim doc As New Process.Document()
doc.SourceType = "URL"
doc.SourceData = "http://myOtherDomain/MyOtherPage.htm"
我想問的原因是因爲它,因爲你這得到與第一種方法有點混亂:
Process.Document.DocumentSource
和doc.Source
我認爲在方法#1中,Process.Document.DocumentSource是冗餘文檔兩次,希望有一種方法可以隱藏該組件的用戶在智能感應下拉列表中可以選擇的對象。
但是在另一面,如果你有很多屬性,最好能將它們分組到子對象中,比如方法#1,這樣你就沒有一百個屬性全部列在智能感應下拉列表。
「德米特法則」的鏈接正是我所期待的。我不認爲自己有任何實際上試圖抵禦我的情況的危險,但是我希望儘可能採用最佳實踐,並且這似乎是不會使用方法1的好例子。 我認爲我應該將相同的規則應用於'Process.Documents.add(doc)'行,對嗎? 這給我帶來了另一個問題。我應該把所有的對象,比如'DocumentSource'和'DocumentCollection'放在最高的命名空間級別嗎?並將它們稱爲'ProcessDocumentSource'等? – EdenMachine
RE調用'.add':是的。 –
RE其他職業:你可能希望他們在更高的水平。 –