Skip to content

Instantly share code, notes, and snippets.

@ahmeturganci
Created October 23, 2019 15:51
Show Gist options
  • Save ahmeturganci/85a11d29205ef96ccb53ff8fd621d214 to your computer and use it in GitHub Desktop.
Save ahmeturganci/85a11d29205ef96ccb53ff8fd621d214 to your computer and use it in GitHub Desktop.

UOW Nedir?

Unit of Work olarak bilinen kısaca tanımlamak gerekirse iş katmanındaki değişiklikleri anlık olarak database yazmak yerine işlemleri toplu halde tek bir kanaldan dataların dataların arasında kullanılan bir paterndir. Bir başka değişle tek bir kanaldan yapılan database işlemleri hem dummy datanın ortaya çıkmasını engellemek hemde hataların doğru zamanda geri alına bilmesini sağlar.

Peki gerçek hayattan bir örnekle bu patern tam olarak projemizin neresinde konumlanacak haydi bir de ona bakalım; genelde hep e ticaret siteleri örnek verirler ben biraz farklı düşüneceğim ve üretim fabrikası içersindeki Depo, üretim ve finas kısımları gibi 3 departmanın içinde modullerin yer aldığı bir uygulama üzerinde konuşalım öncelikle UOW kullanmadığımız zaman üretimden çkan bir ürünü operatör uygulamaya girerken aynı zamanda finas departmanı depo daki ürünler üzerine data işlemleri yapsın ve lojistik departmanıda nakliye ile ilgili çalışmalar yapsın eğer bir UOW yapısı kullanmazsak burada yapılan tüm işlemler bu girilen kayıtların toplu halde database e aktarımı hem performans, hemde sağlıklı data açısında önemli olacaktır.Çünkü son aşamaya gelindiğinde satın almadan vazgeçilmesi halinde önceki aşamalarda oluşan datalar dummy data olarak database’de ekstra yer işgal edecektir.

Düzenle

şekilsel olarak

!!! sekil gelecek

pekii hep duyduğumuz belkide uow'i ile güzel bir ikili olan repository nedir? illa uow ile repository mi kullanılır. alternativi nedir birde ona yakından bakalım

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment