Sobes.tech
Senior

DCI nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

DCI (Data-Context-Interaction), sistemi üç ana bölüme ayıran mimari bir kalıptır:

  • Veri: Alan varlıklarını temsil eden nesneler (örneğin, User, Account). Durumu içerirler, ancak iş mantığını bilmezler.
  • Bağlam: Gerekli verileri toplar ve bunları belirli bir işlemde rollere bağlar. Bağlam, hangi nesnelerin hangi rolleri oynadığını bilir.
  • Etkileşim: İş mantığını tanımlayan roller, bağlamdaki verilere uygulanan. Belirli bir durumda veriler üzerinde gerçekleştirilebilecek özel eylemler.

DCI, nesnelerin belirli bir senaryoda nasıl etkileşime girdiği konusunda insanların düşünmesine odaklanır, sadece verilerin yapısal organizasyonuna değil. İş mantığını daha belirgin ve okunabilir hale getirmeyi amaçlar.

Örnek: Hesaplar arasında para transferi.

  • Veri: Account (durum: bakiye)
  • Bağlam: "Para transferi", iki Account nesnesini "Kaynak" ve "Hedef" rolleriyle bağlar.
  • Etkileşim: "Kaynak" rolleri (withdraw metodu) ve "Hedef" rolleri (deposit metodu). İş mantığı: fonların mevcudiyetinin kontrolü, bakiyelerin değiştirilmesi.

DCI'nin temel avantajları:

  • Kodun okunabilirliğinin artırılması: İş mantığı daha ifade edilebilir ve takip edilmesi kolay hale gelir.
  • Alan anlayışının geliştirilmesi: Kalıp, nesneler arasındaki gerçek etkileşimleri yansıtır.
  • Daha fazla esneklik: Yeni etkileşimler, mevcut veri nesneleri değiştirilmeden eklenebilir.
  • Karmaşanın azaltılması: Kısa ve izole işlemlere odaklanır.

DCI, farklı programlama dilleriyle uygulanabilir, ancak bazı diller onun desteği için daha uygundur (örneğin, trait'leri olan Scala).