2012-07-02 4 views
6

C++에서 Resource Acquisition is Initialization (RAII) 패턴을 사용할 때 클래스 이름을 지정하는 데 공통된 규칙이 있습니까? 내 경우RAII 클래스의 일반적인 명명 규칙은 무엇입니까?

, 나는 사물의 다음과 같은 종류의 작업을 수행 수업을하고 난 스택에 이들 중 하나보고 할 때 처음으로 독자에게 유용한 의미를 호출 할 가능성이 이름 싶습니다

  • 로깅을 억제하는 클래스 (중첩 가능).
  • 관찰자를 배치하는 수업.
  • 현재 스레드에서 처리중인 현재 개체를 기록하는 클래스입니다.
  • 기본 클래스 비헤이비어 (이전 줄에서) 이외에 개체를 처리하기위한 파생 클래스입니다.

는 첫 번째 컷, 나는 (위의 순서에 대응에서)이 같은 이름을 사용하지만, 그들에게 희망을 향상시키기 위해 한 :

  • 클래스 SuppressLogger
  • 클래스 ScopedObserver
  • 클래스 WithCurrentObject을
  • 클래스는 WithObjectProcessed : 공공 WithCurrentObject를
+0

그 이름에 문제가없는 것 같습니다. 마지막 두 개 (예 :'LogWithCurrentObject')에'Log'를 추가 할 수도 있지만 코드에 따라 필요하지 않을 수도 있습니다. –

답변

9

RAII는 언어 전체에서 사용되어야합니다. 기본값이되어야하므로 따를 명명 규칙이 없습니다.

+7

사실,하지만 RAII를 구현하는 * 클래스 *와 * 포커스 *가 RAII 인 클래스 (생성자와 소멸자 이외의 메소드를 가지지 않는 범위)에는 차이가 있습니다. 나는 윌리엄이 후자에 대해 묻고 있다고 가정한다. – dan04

+0

@ dan04 정확합니다. – WilliamKF

관련 문제