2012-07-02 12 views
6

C++ 'da, Kaynak Toplama kullanıldığında Başlatma (RAII) kalıbı kullanıldığında, sınıfların adlandırılması için yaygın bir kural var mı? Benim durumumdaRAII sınıfları için genel bir adlandırma kuralı nedir?

, bende şu tür yapmak sınıfları var ve yığın Bunlardan birini görünce ilk defa okuyucu için yararlı bir anlam çağırmak olasıdır isimler istiyorum:

  • Günlüğü bastırmak için bir sınıf (iç içe geçirilebilir).
  • Bir gözlemci yerleştirecek bir sınıf.
  • Geçerli iş parçacığı için işlenmekte olan geçerli nesneyi kaydetmek için bir sınıf.
  • Nesneyi temel sınıf davranışına ek olarak işlemek için türetilmiş bir sınıf (önceki satırda).

bir birinci kesim olarak, (yukarıdaki emrini karşılık gelen), bu gibi isimler, ancak bunların geliştirmek için umut:

  • sınıf SuppressLogger
  • sınıf ScopedObserver
  • sınıf WithCurrentObject
  • sınıf WithObjectProcessed: kamu WithCurrentObject
+0

Bu isimlerle ilgili yanlış bir şey göremiyorum. Son ikiye ('LogWithCurrentObject') 'Log' başlatabilirim, ancak koda bağlı olarak, bu gerekli olmayabilir. –

cevap

9

RAII, tüm dil boyunca kullanılmalıdır. Varsayılan olması gerektiğinden, takip edilecek bir adlandırma kuralı yoktur.

+7

Doğru, ancak RAII'yi uygulamak için * olan bir sınıf ve * focus * RAII olan bir sınıf (bir kurucu ve yıkıcıdan başka bir yönteme sahip olmadığı ölçüde) arasında bir fark vardır. William'ın ikincisini sorduğunu sanırım. – dan04

+0

@ dan04 Siz haklısınız. – WilliamKF