다음을 통해 공유


클래스: 일반 지침 및 모범 사례

 

게시 날짜: 2016년 7월

적용 대상: System Center 2012 SP1 - Service Manager, System Center 2012 R2 Service Manager, System Center 2012 - Service Manager

System Center 2012 – Service Manager Authoring Tool에서 클래스를 사용자 지정할 때 다음과 같은 지침 및 모범 사례를 따르십시오.

유형 정의를 위한 명명 규칙

Service Manager 스키마 모델 명명 규칙은 .NET 네임스페이스 명명 규칙에 기반합니다.

기본 명명 규칙

기본 명명 규칙은 회사이름.기술영역.제품이름.기능영역.이름입니다.

  • 이 경우 제품이름은 선택 항목이며, 정의가 임의의 특정 제품으로부터 독립적인 경우 사용합니다.

  • 기능영역은 선택 항목이며 정의를 다른 영역에 적용할 수 있는 경우 사용합니다.

  • 이름은 상속 계층이 아닌 클래스의 의미를 반영합니다.

예: Microsoft.AD.Printer, Microsoft.Windows.Computer, System.Knowledge.Article, System.WorkItem.IncidentSystem.StarRating.Average

시스템 네임스페이스

System 네임스페이스는 Microsoft 및 Windows와 독립적인 정의를 의미합니다. 이는 주로 Windows 응용 프로그램 또는 Unix 응용 프로그램이 종속된 기본 정의에 적용됩니다. 이러한 기본 정의는 회사와 독립적이어야 합니다.

시스템 접두사에 대한 다음 지침을 따르십시오.

  • System.Computer는 컴퓨터의 모든 유형을 나타내며 공급업체별로 달라지지 않습니다.

  • 다른 사용자가 해당 네임스페이스 위에 스키마를 정의할 것으로 예상되는 경우 System 접두사를 사용합니다.

  • 유형을 정의하는 공급업체와 관계없이 대부분의 Windows 응용 프로그램이 이 정의를 사용하지만 Microsoft.Windows.ComputerSystem으로 시작되지 않는다는 점에 주의하십시오.

클래스 명명에 대한 모범 사례

클래스를 명명할 때 다음 모범 사례를 따르십시오.

  • 두 클래스의 다른 개체에 대해 동일한 키 값이 저장되므로 두 개의 클래스를 만들지 마십시오(두 개의 다른 관리 팩에 있는 경우에도).

  • 클래스를 확장할 때 클래스 확장 이름이 관리 팩 간에 고유한지 확인합니다. 가능하면 의미 있는 클래스 확장 이름을 사용합니다.

  • 클래스를 확장할 때 해당 클래스에서 이미 사용되고 있는 ID로 속성을 정의해서는 안 됩니다.

  • 사용자 지정 클래스의 속성 이름에 마침표를 사용하지 마십시오.

  • 큐브를 제작할 때 사용자 지정 이름의 계산을 추가하는 경우 명명된 계산의 이름 앞에 NC_를 추가합니다. 그러면 이미 존재하는 속성의 이름을 사용할 가능성이 줄어듭니다.

너무 많은 클래스를 만들지 않음

너무 많은 클래스를 만들면 최소 값이 불필요하게 복잡해질 수 있습니다. 좋은 규칙은 최소 개수의 클래스를 사용하여 원하는 결과를 얻는 것입니다. 추상 클래스 이외에 클래스가 워크플로의 대상이 아니거나 데이터를 저장하는 데 사용되지 않는 경우 생성되지 않을 수 있습니다. 또한 두 클래스가 비슷한 경우, 모든 차이점의 값을 보유할 수 있는 하나의 속성을 사용하여 두 클래스에 대해 단일 클래스를 사용해 볼 수 있습니다.

너무 자주 업데이트되는 속성 사용 안 함

속성 값은 채워진 후에는 거의 변경되지 않아야 합니다. 속성 값이 자주 변경되는 경우는 사용자 지정 커넥터 또는 기타 사용자 지정이 Service Manager 데이터베이스를 프로그래밍 방식으로 업데이트하기 때문입니다. 이러한 상황에서는 속성 값이 너무 자주 업데이트될 수 있습니다(예: 다수 개체의 경우 10 ~ 15분 이하의 간격으로 업데이트됨).

속성 값을 이렇게 자주 변경하면 워크플로의 성능에 영향을 주는 것은 물론 다른 성능에도 영향을 줄 수 있습니다. 시스템이 기록에서 계속 이러한 변경 내용을 추적하기 때문입니다. 또한 변경되는 속성에 따라 이러한 변경 내용은 데이터 웨어하우스에서 처리 및 저장되는 데이터의 양을 심각하게 증가시킬 수 있습니다.

추상 클래스 확장 안 함

System Center 2012 – Service Manager에서는 추상 클래스를 확장할 수 없습니다. 추상 클래스를 확장해야 하는 경우 다음 중 하나를 수행할 수 있습니다.

  • 추가할 속성을 사용하여 새로운 클래스를 만든 후 새 클래스와 추상 클래스 간의 관계를 만듭니다.

  • 추상 클래스에서 파생되는 관련 구체적 클래스를 각기 확장합니다.

작업 항목 클래스에 대한 단순 검색 개선

System.WorkItem” 클래스에서 파생되는 사용자 지정 클래스를 정의할 때 해당 클래스의 DisplayName 속성을 WorkItem.ID<SPACE>WorkItem.Title.

이렇게 하면 단순 검색의 성능이 개선됩니다. 단순 검색은 DisplayName 속성만 검색하므로 Title 속성 값 및 ID 속성 값을 DisplayName 속성 값에 명시적으로 포함하면 단순 검색의 결과가 개선됩니다. 사용자가 제목에 포함된 단어 또는 ID로 검색할 수 있기 때문입니다.

참고 항목

클래스: 사용자 지정 및 제작