SORU
22 AĞUSTOS 2008, Cuma


Nasıl bir samanlıkta iğne bulmak mı?

Nesne yönelimli bir şekilde bir samanlıkta iğne arama uygularken, aslında üç seçeneğiniz vardır:

1. needle.find(haystack)

2. haystack.find(needle)

3. searcher.find(needle, haystack)

Hangisini istersin ve neden?

Bazı insanlar üçüncü bir nesne tanıtma önler, çünkü ikinci seçeneği tercih ettiğini biliyorum. Ancak, üçüncü bir yaklaşım daha kavramsal olduğunu düşünmeden edemiyorum "" eğer hedefiniz varsa, en azından model için "gerçek dünya". doğru

Hangi durumlarda yardımcı nesneleri, bu örnek içinde arama gibi tanıtmak için haklı olduğunu düşünüyorsun, ve ne zaman onlar kaçınılmalıdır?

CEVAP
23 AĞUSTOS 2008, CUMARTESİ


Üç, 3 numaralı seçeneği tercih ederim.

Single Responsibility Principle bana DTOs ya benim modelleri arama yetenekleri koymak istemiyorum bazen. Onların sorumluluk veriler için, kendilerini bulmak için değil, ne de iğneler haystacks hakkında bilmeniz gerekir, ne de ot yığınları iğneler hakkında.

Ne öyle değer için, en OO uygulayıcıları #3 en iyi seçenek olduğunu anlamak UZUN zaman alır bence. Gerçekten grokked önce bir on yıl için, muhtemelen EVET, yaptım.

@wilhelmtell, C böyle bir sistem gerçekten işe yarayan şablon uzmanlaşma ile çok az dillerden biridir. Çoğu dil için, genel bir amaç "," yöntem çok kötü bir fikir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Paul Schroder

    Paul Schrode

    30 Kasım 2007
  • SDSARG3

    SDSARG3

    14 Mart 2009
  • TurkishRoyal

    TurkishRoyal

    16 Ocak 2007