2009-07-08 2 views
0

저는 멤버/타입을 코드화 할 때 액세스 한정자를 올바르게 적용하는 방법을 더 잘 이해하는 데 도움이되는 자료를 찾는 학생입니다.액세스 한정자의 올바른 적용

저는 (C#에서) private, public, protected 등과 같은 수정자를 어떻게 접근 할 수 있는지 알고 있습니다. 내 작은 프로젝트를 코딩 할 때 모든 것을 공개하는 경향이 있습니다. 나는 이것이 창 밖으로 캡슐화하는 것만 큼 절대적으로 끔찍한 관행이라고 확신한다. 내부 대 개인과 같은 것을 사용하는 것이 올바른지는 결코 알 수 없습니다.

접근 수정 자의 올바른 사용에 대해 이해하는 데 도움이되는 자료가 있습니까?

답변

2

경험 유형 질문입니다. 최소한의 권한 수준에서 시작하여 필요한만큼 승격하십시오.

즉, 모든 것을 비공개로 설정하십시오. 보호 또는 대중에게 홍보해야 할 때까지 시간이 지남에 따라 수업의 의도되고 나중에 발견 된 사용법에 대한 느낌을 갖게됩니다.

0

모든 것을 비공개로 시작하십시오. 필요성을 느끼는 경우 올바른 유형을 선택할 때까지 수정 기호를 적절하게 변경하십시오.

TDD를 사용해보십시오, 일을 더 쉽게하기 위해, 또는 단위 테스트를 작성 얻을 때 더욱 곤경에 얻을 수 있습니다 ...

0

난 그저 가능한 한 제한적인 모든 접근합니다

    이 어셈블리 외부에 노출하는 API가 있다면 그것은 대중이 어셈블리
  • 또는 내 다른 클래스에 노출하는 API가 있다면,
  • 그렇지 않으면 내부 기본적으로 개인
  • 또는 하위 클래스에서만 호출하려는 경우 보호됩니다.
0

모든 종류의 안내서 또는 교재는 동일한 안내, 즉 다른 게시물이 이미 제공 한 지침을 제공합니다. 이 특정 사안에서 "자원"으로부터 많은 유용한 정보를 기대하지 마십시오.

그 이상의 기본 리소스는 다른 사람들이 작성한 코드입니다. 큰 C# 프로젝트 (예 : Mono 또는 SharpDevelop)를 가져 와서 설명 된 원리를 구체적으로 어떻게 수행했는지 조사하십시오. 또한 디자인 할 특정 클래스가있는 경우 시스템 라이브러리에서 비슷한 클래스를 생각해보고 Mono 소스를 보거나 .NET 리플렉터를 사용하여 구현 방법을 찾으십시오.

0

클래스의 인터페이스, 즉 목적을 달성하기 위해 노출해야하는 필수적이고 충분한 루틴 집합에 대해 생각해 보는 것으로 시작해야합니다. 공개합니다. 다른 모든 것은 사적이어야합니다.

0

저는 공개되지 않은 모든 것을 보호하려는 경향이 있습니다. 내 사용자가 원하는대로 수업을 자유롭게 할 수 있습니다. 그들의 수업이 중단되면 문제가 될 수 있습니다.

클래스를 상속 할 때마다 oop가 구현을 숨기는 경우에도 작동하는 방식을 알아야합니다. 구현을 숨길 수는 있지만 문서를 숨기지는 않습니다.