나는 이런 식으로 내 개체를 구성 할 수있는 것을 좋아합니다. Source
은 Document
개체 내부의 개체입니다.개체 - 속성 모범 사례
방법 # 1
Dim doc As New Process.Document()
doc.Source.Type = "URL"
doc.Source.Data = "http://myOtherDomain/MyOtherPage.htm"
< View #1 PasteBin Full Code> 그러나
, 그것은 이런 식으로 뭔가를 할 수있는 더 좋은 방법입니다?
방법 # 2
Dim doc As New Process.Document()
doc.SourceType = "URL"
doc.SourceData = "http://myOtherDomain/MyOtherPage.htm"
< View #2 PasteBin Full Code 당신이 얻을 수 있기 때문에 첫 번째 방법과 약간의 혼란을 가져 오기 때문에>
물어 그 이유는 다음과 같습니다
Process.Document.DocumentSource
및 doc.Source
을
메서드 # 1에서 Process.Document.DocumentSource는 Document가 두 번 중복되어 있고 어셈블리 사용자가 Intellisense 드롭 다운 목록에서 해당 개체를 선택하지 못하게하는 방법이 있었으면 좋겠다.
하지만 속성이 많으면 메서드 # 1처럼 하위 개체로 그룹화하는 것이 더 좋을 것입니다. 그래서 100 가지 속성이 모두 나열되어 있지 않습니다. Intellisense 드롭 다운 목록.
"Demeter의 법칙"에 대한 링크는 정확히 내가 찾고있는 것입니다. 나는 내가 실제로 상황에 대해 보호하려고 노력하고있는 어떤 것의 위험에 처해 있다고 생각하지 않지만, 가능하다면 모범 사례를 사용하여 앞으로 나아가고 싶다. 그리고 그것은 방법 # 1을 사용하지 않는 좋은 경우를 만드는 것처럼 보인다. 나는'Process.Documents.add (doc)'줄에도 같은 규칙을 적용해야한다. 맞습니까? 다른 질문이 생깁니다. 'DocumentSource'와'DocumentCollection'과 같은 모든 객체를 최상위 네임 스페이스 레벨에 두어야합니까? 그리고 그것들을'ProcessDocumentSource'라고 부르죠? – EdenMachine
RE'.add' 호출 : 예. –
다른 클래스들 : 당신은 아마도 그것들을 상위 레벨에서 원할 것입니다. –