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

  • Marques Brownlee

    Marques Brow

    21 Mart 2008
  • SunsetTrance

    SunsetTrance

    20 EYLÜL 2008
  • ThePointblank

    ThePointblan

    18 Aralık 2006