2010-10-08 22 views

cevap

2

Nesne modelinizin veritabanı modelinize birebir eşleşmesi gerekmez ve çoğu durumda daha zengin olur. Bileşenler, nesne modelinizdeki işlevselliği kapsülleyerek veritabanı modelinizi zenginleştirmenin bir yoludur. Örneğin, iki tablonuz var, people ve companies. Bu tabloların her ikisi de address için gerekli alanlara sahiptir, ancak veritabanı şeması, hangi nedenle olursa olsun, addresses için üçüncü bir tabloya sahip değildir. Uygulamanızda, bunun için mantıksal bir veritabanı tablosu olmasa bile adresleri ayrı bir varlık olarak modellemek isteyebilirsiniz. Burada bir adres için veritabanı alanlarını yansıtmanızı sağlayacak bir bileşen kullanacaksınız.

IUserType, özel bir serileştirme kullanarak bir sütuna bir tür eşleme yöntemidir. Örneğin, bir mongodb ObjectId'u (bir kılavuzdan başka bir şey değil) eşleştirecekseniz, eşlemeyi yapmak için özel bir IUserType yazabilirsiniz. Diğer örnekler, bir bit maskesinin zengin kullanıcı türlerinin bir dizisine eşlenmesi veya şifrelenmiş bir alanı kodlama/kod çözme olabilir.