Etki Alanı Odaklı Tasarım
24 Ocak 2020
güncellendi: 6 Kasım 2026
Etki Alanı Odaklı Tasarım
Etki alanı odaklı tasarım (DDD), etki alanlarını belirlemeye ve yazılımı bu etki alanları etrafında modellemeye dayanan bir uygulama geliştirme yaklaşımıdır.

Alan
Alan, bir uygulamanın geliştirildiği bilgi veya faaliyet alanıdır. Avukatların, petrol ve gaz endüstrisinin kelime dağarcığından farklı olan kendi terimleri ve temel kavramları vardır. Bunlar sadece kelimeler değildir: müşteri için önemli olan süreçleri ve ilişkileri yansıtırlar. Bu nedenle, belirli bir alanda kullanılan terimlere dikkat etmek önemlidir. Bu, uygulama geliştiriciler ile müşteriler arasındaki sürekli iletişim sayesinde sağlanır. Bu yaklaşım, DDD’nin temel ilkesini yansıtır: geliştirme, iş hedeflerinden kopuk olmamalıdır. DDD, bir talimatlar dizisi veya metodoloji değil, ilkeler ve kılavuzlardan oluşan bir koleksiyondur.
Küçük ve basit yazılım ürünleri söz konusu olduğunda, DDD, diğer mimari tasarım ilkeleri gibi, o kadar da önemli değildir. Ancak karmaşık özelliklere sahip dar kapsamlı alanlar, en üst düzeyde dikkatli bir düşünme süreci gerektirir. DDD, karmaşık iş mantığını yansıtan alan modelleri oluşturulmasını önerir.
Model
Model, bir alanın seçilmiş özelliklerini tanımlayan bir soyutlama sistemidir. Tıpkı fiziksel bir modelin bir nesneyi anlamayı ve incelemeyi kolaylaştırması gibi, bir alan modeli de o alanla ilgili sorunların çözülmesine yardımcı olur.
Etki Alanı Modellemesi
Etki alanı modelleme, belirli bir iş etki alanının temel kavramlarını, kurallarını ve ilişkilerini temsil etmek için özellikle etki alanı odaklı tasarımda (DDD) kullanılan bir yazılım geliştirme tekniğidir.
Agrega
Topluluk, açıkça tanımlanmış sınırları olan ve tek bir birim olarak ele alınan varlıklar ve değer nesnelerinden oluşan bir kümedir. Her agreganın bir kök varlığı vardır ve dış dünya, agregayla yalnızca bu kök aracılığıyla etkileşime girer. Örneğin, sipariş satırlarını içeren bir sipariş tek bir agregayı oluşturabilir: bir sipariş satırını doğrudan değiştirmezsiniz, bunun yerine siparişe onu eklemesini veya kaldırmasını istersiniz; böylece sipariş, maksimum toplam tutar gibi kurallarını uygulayabilir.
Hizmet
Etki alanı hizmeti, doğal olarak tek bir varlığa veya değer nesnesine ait olmayan bir işlemdir. Kabaca söylemek gerekirse, iki hesap arasında para transferi yapmak gibi bağımsız bir eylemdir.
Depolar
Bir depo, basit, koleksiyona benzer bir arayüz aracılığıyla agregalara erişim sağlar: agreganın nasıl ve nerede depolandığını bilmeden, bir agregayı ekleyebilir, tanımlayıcısına göre bulabilir veya kaldırabilirsiniz. Örneğin, bir sipariş deposu, veritabanının ayrıntılarını gizlerken uygulamanın siparişleri yüklemesine ve kaydetmesine olanak tanır.
Yazılım mimarisi ve karmaşık kurumsal bilgi sistemleri tasarlanırken etki alanı odaklı tasarımın kullanılması, bir projedeki değişikliklerin yönetilmesini kolaylaştırır ve yeni sürümlerin daha etkili bir şekilde test edilmesini sağlar.