Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
Bounded Context: Aynı Kelimenin Farklı Anlamları ve Model Sınırları
Bounded context, bir modelin ve dilinin geçerli olduğu açıkça çizilmiş sınırdır; "kitap" Catalog'da satıştaki eser, Inventory'de depodaki nüsha, Ordering'de satın alınan satır, Shipping'de koli olduğu için tek bir dev Book class'ı yerine dört model gerekir. Evans'ın tanımı, .NET'in Timer'larıyla CS0104, bounded context ile subdomain ve microservice farkı, boyutlandırma, Ordering için Bounded Context Canvas ve EF Core'da context başına schema.
Subdomain'ler: Core, Supporting ve Generic Ayrımıyla Yatırımı Doğru Yere Yapmak
Core subdomain şirketi rakiplerinden ayıran, karmaşık ve sık değişen parçadır ve en iyi ekiple zengin modelle yazılır; supporting basit tutulur, generic ise karmaşık olsa da satın alınır. Evans'ın Core Domain ve Generic Subdomains pattern'leri, Khononov'un ölçütleri, Bookstore'un sınıflaması, aynı uygulamada domain model, transaction script ve ince gateway, .NET'in kriptografiyi işletim sistemine bırakması ve subdomain ile bounded context farkı.
Domain-Driven Design Nedir? Ne Zaman Değer, Ne Zaman Gereksiz?
DDD, karmaşıklığın teknolojide değil iş kurallarında olduğunu kabul edip modeli domain uzmanıyla birlikte koda taşıyan bir yaklaşımdır; kuralları sık değişen core domain'de değer üretir, CRUD ekranlarında ve kısa ömürlü MVP'lerde gereksizdir. Kampanya indirimi hatasıyla CRUD ve domain modelinin farkı, strategic ve tactical design ayrımı, eShop'un Ordering.Domain'i ve serinin yol haritası.