Etki alanına özgü bir nesnenin düz bir Dize veya sayıya karşı ne zaman kullanılacağına ilişkin genel kurallar veya genel kurallar nelerdir?
Örnekler:
- Yaş sınıfı vs Tamsayı?
- FirstName sınıfı vs String?
- UniqueID ve Dize
- PhoneNumber sınıfı vs String vs Long?
- DomainName sınıfı vs String?
Bence çoğu OOP uygulayıcısı kesinlikle PhoneNumber ve DomainName için belirli sınıflar söyleyebilirdi. Onları neyin geçerli kıldığı ve nasıl karşılaştırılacağı ile ilgili daha fazla kural, basit sınıfları ele almayı daha kolay ve daha güvenli hale getirir. Ancak ilk üçü için daha fazla tartışma var.
Asla bir "Yaş" sınıfına rastlamadım ama biri olumsuz olması gerektiği göz önüne alındığında mantıklı olabilir (tamam, negatif yaşları tartışabileceğinizi biliyorum ama neredeyse ilkel bir tam sayıya eşdeğer olduğu iyi bir örnek).
Dize, "Adı" temsil etmek için yaygındır, ancak boş bir Dize geçerli bir Dize olduğu için geçerli bir ad olmadığı için mükemmel değildir. Karşılaştırma genellikle vaka göz ardı edilerek yapılır. Tabii ki boş, büyük / küçük harfe duyarlı olmayan karşılaştırmalar yapmak için yöntemler vardır, ancak tüketicinin bunu yapmasını gerektirir.
Cevap çevreye bağlı mı? Öncelikle on yıldan fazla bir süre boyunca yaşayacak ve sürdürülecek kurumsal / yüksek değerli yazılımlarla ilgileniyorum.
Belki de bunu düşünüyorum ama kimsenin ne zaman ilkel vs sınıf seçeceğine dair kuralları olup olmadığını bilmek istiyorum.
people may be one or two years older in Asian reckoning than in the western age system
Age
Böyle bir sınıfın sağlayacağı ek davranışa ihtiyacınız olduğunda tamsayı yerine bir sınıf kullanırsınız.