SORU
23 Mart 2009, PAZARTESİ


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
23 Mart 2009, PAZARTESİ


Ö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ı.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Orson Wang

    Orson Wang

    28 EKİM 2006
  • stokelycalm

    stokelycalm

    28 Aralık 2010
  • The Dubstep FX

    The Dubstep

    5 Mart 2011