Active Record veri erişimi için bir tasarım desen ...
ActiveRecord ve Deposu Desen: Şu anda ben veri erişimi ile ilgili rastlamak gibi iki ana tasarım desenleri var
Active Record
Sizin nesneler kadar DB (veya başka bir kalıcılık mekanizması) kendi devlet ısrarcı için yöntemler içerir:
Bir Müşteri nesnesi olabilir.
Müşteri nesne) Customer.Save (gibi yöntemler bir grup olacak;, Customer.Get (int id); ve diğerleri.
Bu yöntemler gerçekten gerçek dünyada bir müşteri ile ilgisi yok. Bunlar uygulama altyapısı hakkında gerçekten.
Repository Pattern
Depo desen olarak, müşteri nesne POCO, ya da aptal bir nesne olurdu. Sadece gerçekten (isim, e-posta adresi, Liste siparişleri, gibi şeyler vb) bir müşteri temsil gerektiğini yöntem ve özelliklere sahip
Eğer müşteri devam etmek istediğinizde - Eğer sadece depo geçmek
Repository.Save (MyCustomer).
Etkin kayıt deseni hızlı ve çalışmak kolaydır. Ne yazık ki, bu gerçekten bir Müşteri ile ilgisi yok bu yöntemler ile etki alanı modeli kaplamak gelmez. Bu biraz zor zamanla etki modeli korumak için yapar.
Durumun bir sürü için bir Active kayıt deseni kullanmak için çok uygundur. Örneğin - Herhalde çok değişecek değil oldukça basit bir uygulama yazıyorum, ben muhtemelen subsonik ateş ve benim bir Active Record DAL oluşturmak istiyorum. Ben 20 dakika içinde benim iş kod kodlama olurdu ve tüm DB şeyler zaten halledilir.
Öte yandan, ben değiştirmek için yüksek hassasiyete sahip, özellikle karmaşık bir etki modelleme ediyorum, eğer, ben oldukça temiz benim etki modelleri tutmak ve NHibernate veya benzer bir depo desen uygulamak istiyorum ...
Ben ADO.Net kullanarak kendi veri erişimi haddelenmiş, ve ben gerçekten artık çok büyük veri erişim araçları vardır bunu önermiyoruz çünkü uzun bir zaman oldu.