Yanıtlar:
İlk olarak, ihtiyacınız olduğunu bilmiyorsanız, ihtiyacınız olmayabilir. DDD'nin çözdüğü sorunları tanımıyorsanız, belki de bu sorunlarınız yoktur. DDD savunucuları bile DDD'nin yalnızca büyük (> 6 ay) projeler için tasarlandığına dikkat çekecektir.
Hala bu noktada okuduğunuzu varsayarsak, DDD'yi almam şu şekildedir:
DDD, yazılımınızı gerçek dünyadaki bir sistem veya süreç modeli haline getirmeye çalışmakla ilgilidir. DDD'yi kullanırken , gerçek dünya sisteminin nasıl çalıştığını açıklayabilen bir alan adı uzmanıyla yakın çalışmanız gerekir . Örneğin, at yarışlarına bahis koymayı ele alan bir sistem geliştiriyorsanız, alan adı uzmanınız deneyimli bir bahis şirketi olabilir.
Kendiniz ile etki alanı uzmanı arasında , temelde sistemin kavramsal bir açıklaması olan her yerde bulunan bir dil (UL) oluşturursunuz. Fikir, sistemin ne yaptığını etki alanı uzmanının okuyabileceği ve doğru olduğunu doğrulayabilecek şekilde yazabilmenizdir. Bahis örneğimizde, her yerde bulunan dil, 'yarış', 'bahis', 'oranlar' vb. Kelimelerin tanımını içerecektir.
UL tarafından tanımlanan kavramlar, nesne yönelimli tasarımınızın temelini oluşturacaktır. DDD, nesnelerinizin nasıl etkileşime girmesi gerektiği konusunda net bir rehberlik sağlar ve nesnelerinizi aşağıdaki kategorilere ayırmanıza yardımcı olur:
DDD ayrıca birkaç desen önermektedir:
Şimdi, bu noktada şunu söylemeliyim ki, daha önce bu şeylerden herhangi birini duymadıysanız, son tarihiniz olan herhangi bir projede DDD'yi kullanmaya çalışmamalısınız. DDD'yi denemeden önce tasarım desenlerine ve kurumsal tasarım desenlerine aşina olmalısınız . Bunları bilmek DDD'yi kavramayı çok daha kolay hale getirir. Ve yukarıda belirtildiği gibi, InfoQ'dan (DDD hakkında konuşmaları da bulabileceğiniz) DDD'ye ücretsiz bir giriş var .
StackOverflow'u örnek olarak alalım. Bazı web formları tasarlamaya başlamak yerine, öncelikle sorun etki alanınızdaki varlıkların, örneğin Kullanıcılar, Sorular, Yanıtlar, Oylar, Yorumlar vb. etki alanına etki alanı güdümlü tasarım denir .
Eric Evans'ın kitabında daha fazlasını okuyabilirsiniz .