Selamlar,
DDD pratikleri gereği takip etmemiz gereken yöntemler serisi domain’in analiz edilmesi ile başlıyor.

Haydi başlayalım,
Business domain’in analiz edilebilmesi için uygulamanın functional requirement‘larının analiz edilmesi gerekmektedir.
Mevcut organizasyonel bağımlılık ve sınırlarımızın veya teknoloji seçimlerimizin tasarım kararlarını dikte etmesinden olabildiğince kaçınmamız gerekmektedir. Böylelikle DDD yaklaşımını her bir microservice özelinde doğal bir uyum ile ele alıyor olmanın önünü açacağız.
Bu noktada event storming‘ler büyük önem kazanmaktadır.
Event Storming Nedir?
Event Storming, iş süreçlerine odaklandığımız, duvara yapıştırılmış dev kağıt parçları ve üzerindeki yapışkan notlarla neşeli bir konseptle ele alınan ve karmaşık iş geliştirme süreçlerini basitçe analiz etmeye imkan tanıyan bir workshop‘dur.
Farklı bir yazıda event storming pratiklerinin nasıl uygulandığına dair genişçe bir yazı kaleme almak istiyorum. Şimdilik bu kadar yeterli sanırım.
Kodlamaya başlamadan önce büyük resmi gördüğümüz, sisteme uzaktan baktığımız çalışmalar oldukça önemlidir.
DDD, Bussiness Domain’in modellenmesi ve Domain Model’in buna bağlı soyutlanmasıyla oluşur. Bununla birlikte artık ortak bir dilden (Common Language) bahsetmeye başlarız.
Bu noktada bazı sorulara yanıt veriyor olmamız oldukça önemlidir.
- Hangi fonksiyonlar yakından ilişkilidir?
- Hangi fonksiyonlar şirket için hayati öneme sahiptir?
- Yan hizmetler sunan fonksiyonlarımız nelerdir?
- İşlevler açısından bağımlılık ne durumdadır?
Bu aşamada teknolojiler ve implementasyon detayları ile ilgilenmiyoruz.
Araya hemen bir kafka koyma, birilerinin bir yere event fırlatması veya schedule servis’lerin 5 dk’da bir çalışacak olması gibi süper çözümler için sakin olmamız gereken anlardayız 🙂
Hoşçakalın..