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

  • Andrea Lewis

    Andrea Lewis

    14 Mart 2013
  • POGProductionz

    POGProductio

    27 NİSAN 2012
  • sghaff1

    sghaff1

    23 Mart 2009