Bu sorudan çıkan bazı konular var:
- arayüzler ve sınıflar
- birkaç benzer sınıf, koleksiyon, liste, diziden hangi belirli sınıf?
- Ortak sınıflar ve alt öğe ("jenerik") koleksiyonları
Nesne Yönelimli bir API olduğunu vurgulamak isteyebilirsiniz
arayüzler ve sınıflar
Arayüzlerle ilgili fazla tecrübeniz yoksa, derslere bağlı kalmanızı öneririm. Pek çok geliştiricinin gerekli olmasa bile arayüzlere atladığını görüyorum.
Ve, iyi bir sınıf tasarımı yerine, sonunda iyi bir arayüz tasarımına taşınabilecek zayıf bir arayüz tasarımı yapmayı bitirin ...
API'de birçok arayüz göreceksiniz, ancak ihtiyacınız yoksa acele etmeyin.
Sonunda kodunuza arayüzleri nasıl uygulayacağınızı öğreneceksiniz.
birkaç benzer sınıf, koleksiyon, liste, diziden hangi belirli sınıf?
C # (dotnet) içinde birbiriyle değiştirilebilen birkaç sınıf vardır. Daha önce de belirtildiği gibi, "CanBeSortedClass" gibi daha spesifik bir sınıftan bir şeye ihtiyacınız varsa, bunu API'nizde açıkça belirtin.
API kullanıcınızın, sınıfınızın sıralanabileceğini veya öğelere bir biçim uygulayabileceğini gerçekten bilmesi gerekiyor mu? Daha sonra "CanBeSortedClass" veya "ElementsCanBePaintedClass" kullanın, aksi takdirde "GenericBrandClass" kullanın.
Aksi takdirde, daha genel bir sınıf kullanın.
Ortak koleksiyon sınıfları ve alt öğe ("genel") koleksiyonları
Diğer öğeleri içeren sınıflar olduğunu göreceksiniz ve tüm öğelerin belirli bir türde olması gerektiğini belirtebilirsiniz.
Genel Koleksiyonlar , her yeni alt öğe türü için yeni bir koleksiyon oluşturmak zorunda kalmadan birkaç kod uygulaması için aynı koleksiyonu kullanabileceğiniz sınıflardır, örneğin: Koleksiyon .
API kullanıcınız tüm öğeler için aynı olan çok özel bir türe ihtiyaç duyacak mı?
Gibi bir şey kullanın List<WashingtonApple>
.
API kullanıcınız birkaç ilgili türe ihtiyaç duyacak mı?
Açığa List<Fruit>
API'nızdan için, ve kullanımı List<Orange>
List<Banana>
, List<Strawberry>
içten, nerede Orange
, Banana
ve Strawberry
gelen torunları Fruit
.
API kullanıcınızın genel bir tür koleksiyonuna ihtiyacı olacak mı?
List
Tüm öğelerin olduğu yerde kullanın object
.
Şerefe.