Havuzlarınız varsa, veritabanından zaten soyutlanmış bir ORM kullandığınıza inanıyorum.
Ancak, şu anda çalıştığım yerde, birisi daha sonra ORM'yi değiştirmek istediğimizde ORM'yi soyutlayan bir katmana sahip olmamız gerektiğine inanıyor.
Birçok ORM üzerinde çalışacak bir katman oluşturmak gerçekten gerekli mi yoksa başın üstünde mi?
Düzenle
Daha fazla ayrıntı vermek için:
- AutoMapper ile eşlenen POCO sınıfımız ve Entity Sınıfımız var. Varlık sınıfı, Depo katmanı tarafından kullanılır. Depo katmanı daha sonra Entity Framework ile iletişim kurmak için ek soyutlama katmanını kullanır.
- İş katmanının hiçbir şekilde Entity Framework'e doğrudan erişimi yoktur. ORM üzerinde ek bir soyutlama katmanı olmasa bile, bunun depo katmanını kullanan hizmet katmanını kullanması gerekir. Her iki durumda da, iş katmanı ORM'den tamamen ayrılmıştır.
- Ana argüman gelecekte ORM'yi değiştirebilmektir. Depo katmanının içinde gerçekten yerel olduğundan, bana çok iyi ayrılmış durumda ve neden "kalite" koduna sahip olmak için ek bir soyutlama katmanının gerekli olduğunu görmüyorum.