Katmanlı Mimari Hakkında Sorularım
-
geçen tbt den bir arkadaşın bilgisayarına bağlanmıştım, o da böyle context i sınıf bazında oluşturuyordu, sayfayı değiştirince son yaptığı değişiklik kaybolmuyordu çünkü context i ilk sınıf yaratıldığında new ile oluşturuyordu ama bir daha dokunmuyordu, böyle olunca da yapılan değişklikleri o context görmüyordu :)
O yüzden böyle sorunlar yaşamamak adına singleton design pattern i bu kısma uygulayabilirsin, bunun haricinde repository design pattern de işine yarayabilir. Google da örneklerini bulabilirsin bu metodları EF ye uygulanmış şekilde vardır örnekleri, onlar işini görecektir. Ama bu şekilde her context i direk burada oluşturma. Zaten şuanki tasarımda bile çok sıkıntı var ama başlangıç seviyesinde olduğun için pek bir şey söylemiyorum.
Sadece şunu bil; şuan yaptığın DAL, users tarafı için yazılmış, onlarca tablon olduğunu düşün, hepsini mi EFUserDal ın içine ekleyeceksin? O kadar metodu bir sınıfa yazmak mantıklı değil, o zaman da farklı sınıflar/interface lere ihtiyaç duyacaksın ve haliyle her bu mantıkla her sınıfta bir dbcontext oluşturacaksın bu da üstte bahsettiğim soruna götürecek seni. O yüzden o 2 design pattern i araştır.
Belki bi süre sonra da Generic metod/class lara bakarsın. Böylece gereksiz yere her tablo için CRUD işlemi yapmak için fonksiyon oluşturmana gerek kalmaz..
-
unbalanced bunu yazdı
geçen tbt den bir arkadaşın bilgisayarına bağlanmıştım, o da böyle context i sınıf bazında oluşturuyordu, sayfayı değiştirince son yaptığı değişiklik kaybolmuyordu çünkü context i ilk sınıf yaratıldığında new ile oluşturuyordu ama bir daha dokunmuyordu, böyle olunca da yapılan değişklikleri o context görmüyordu :)
O yüzden böyle sorunlar yaşamamak adına singleton design pattern i bu kısma uygulayabilirsin, bunun haricinde repository design pattern de işine yarayabilir. Google da örneklerini bulabilirsin bu metodları EF ye uygulanmış şekilde vardır örnekleri, onlar işini görecektir. Ama bu şekilde her context i direk burada oluşturma. Zaten şuanki tasarımda bile çok sıkıntı var ama başlangıç seviyesinde olduğun için pek bir şey söylemiyorum.
Sadece şunu bil; şuan yaptığın DAL, users tarafı için yazılmış, onlarca tablon olduğunu düşün, hepsini mi EFUserDal ın içine ekleyeceksin? O kadar metodu bir sınıfa yazmak mantıklı değil, o zaman da farklı sınıflar/interface lere ihtiyaç duyacaksın ve haliyle her bu mantıkla her sınıfta bir dbcontext oluşturacaksın bu da üstte bahsettiğim soruna götürecek seni. O yüzden o 2 design pattern i araştır.
Belki bi süre sonra da Generic metod/class lara bakarsın. Böylece gereksiz yere her tablo için CRUD işlemi yapmak için fonksiyon oluşturmana gerek kalmaz..
evet @unbalanced hocanın bahsettiği arkadaş benim , OOP a geçince böyle bir sıkıntı baş göstermişti kaldı ki @ANZAK ile aynı video üzerinden gitmişiz dosyalardan anladığım kadarıyla.
Ben repository pattern ile olayı çözdüm dependency injection da ayarlamaları yapman konusunda sorun olursa yardımcı olabilirim. Onun dışında hepsine ayrı ayrı dal yazmak yerine çok daha kolay bir yöntem oluyor tavsiye ederim.