Neden nesneler yerine dizilerini kullan?
Çalıştığım Bir kod temeli ve B Çifti birinci ve ikinci değerler türleri bir nesne Çifti çağırdı. Bu açıkça adlı üyeleri ile bir nesne yerine kullanılan alır çünkü saldırı olması için bir nesne bulmak. Bu bulmak:
List<Pair<Integer, Integer>> productIds = blah();
// snip many lines and method calls
void doSomething(Pair<Integer, Integer> id) {
Integer productId = id.first();
Integer quantity = id.second();
}
Yerine
class ProductsOrdered {
int productId;
int quantityOrdered;
// accessor methods, etc
}
List<ProductsOrderded> productsOrdered = blah();
Kod temeli ' Çifti diğer birçok kullanır aynı şekilde kötü kokulu.
Dizilerini Araştırdım ve genellikle yanlış ya da şüpheli şekilde kullanılmış gibi görünüyor. Ya da bunların kullanımı için karşı ikna edici bir argüman var mı? İstememek büyük sınıf hiyerarşileri oluşturmak için takdir edebilirim ama sınıf hiyerarşisinin eğer dizilerini kullanılan olmasa patlar orada gerçekçi olarak kullanılabilecek kod temeli.
CEVAP
Öncelikle, bir dizi hızlı ve kolaydır: 2 şey bir araya getirmek için istediğiniz her zaman için bir sınıf yazmak yerine, sizin için bir şablon var.
İkincisi, genel konum. C örneğin, std::map cinsel yolla bulaşan bir hastalık kullanır::anahtar ve değer çifti. Böylece HERHANGİ bir çift, iki tür her permütasyon için erişimci yöntemleri ile sarıcı sınıf bir çeşit yapmak yerine kullanılabilir.
Son olarak, birden çok değer döndürmek için oldukça yararlıdır. Bir işlevin birden fazla dönüş değerleri için bir sınıf özellikle yapmak için çok sebep var, ve eğer ilgisiz olmadıklarını bir nesne muamelesi yapmamaları lazım.
Adil olmak gerekirse, yapıştırdığınız kodu bir çift kötü kullanımı.
Neden nesne yerine bir işaretçi kendis...
Python katılın, neden dize.liste yerin...
Nasıl sekme yerine boşluk kullan için ...
Neden px yerine em?...
Neden İfade<İşlev<T> kullanırs...