C tavsiyeler ad
Ben sadece öğretmenlik kendimi C ad (gelen bir C# arka plan) ve ben gerçekten başlangıç için bence bu bile her şeyi yapar C ' den daha iyi diğer çoğu dil, iç içe geçmiş bir ad değil bir tanesi!
Bazı iç içe ad ilan için aşağıdaki: yapmam gereken düşünebilir miyim
namespace tier1
{
namespace tier2
{
namespace tier3
{
/* then start your normal code nesting */
}
}
}
Olarak karşı çıkan:
namespace tier1::tier2::tier3
{
}
C Ã la#?
Bu ileri bildirmek için ihtiyacım olduğunda daha da çılgın bir hale gelir:
namespace tier1
{
namespace tier2
{
namespace forward_declared_namespace
{
myType myVar; // forward declare
}
namespace tier3
{
/* then start your normal code nesting */
class myClass
{
forward_declared_namespace::myType myMember;
}
}
}
}
Ben geliştirmek tipik bir sistem oluştuğunu göz önünde bulundurarak:
MyCompany::MySolution::MyProject::System::[PossibleSections]::Type
C örneklerde ad çok kullanma eğiliminde değilsiniz neden bu? Ya da genellikle sadece tek (iç içe geçmiş) ad?
GÃœNCELLEME
İlgilenen, this is how I ended up bu konuyla mücadele.
CEVAP
C ad tasarım mekanizması - sadece adını çatışmaları önlemek için onlar olmaya yönelik deÄŸildi. Gerçekten istemiyor ya da durumlar ™.99 iç içe geçmiÅŸ bir ad kullanmanız gerekir.
C ad doğru kullanımına güzel bir örnek C Standart Kütüphanesi. Oldukça büyük bu kütüphanede her şey tek bir ad aradı yerleştirilirstd- ya da kütüphane (örneğin), alt ad alanı, bir matematik alt ad alanı, bir kap alt ad I/O vb bir ayrılık denemesi gerek yok.
C modelleme için temel araç sınıfı (ve bir ölçüde şablon için), Ad değil. Eğer yerleştirme için ihtiyacınız varsa, ad aşağıdaki avantajları olan iç içe sınıflar, kullanmayı düşünmelisiniz:
- yöntemleri var
- eriÅŸim kontrol edebilirler
- yeniden açılamıyor
Eğer hala iç içe geçmiş bir ad ile kullanmak istiyorsanız bu dikkate aldıktan sonra, yani - bu şekilde onları kullanarak bir şey teknik olarak yanlış bir şey yoktur.
Dinlendirici bir hizmet için Jersey ve...