繁体   English   中英

工厂类 - 保存对象

[英]Factory Class - Save Objects

我有一个工厂类,用数据填充对象。 我想从对象实现保存,但不想用db填充对象 - 让我的Factory创建类也保存数据是愚蠢的吗?

ie:在我的.Save()方法中对象我会调用Factory.Save(myObject);

工厂类是一种创建模式,有助于创建新对象。

有各种模式可以处理持久化对象,其中一种是数据映射器http://martinfowler.com/eaaCatalog/dataMapper.html

这通常与Repository http://martinfowler.com/eaaCatalog/repository.html一起使用

您可以使用这些模式将数据库从域/业务对象中抽象出来,并从应用程序中访问它们以查询和保存对象。

因此,数据映射器/存储库负责持久性的两个方面(从数据库填充,并保存回数据库)。

如果您担心类中的数据库内容 - 您是否考虑过使用O / R映射器?

这将使数据库内容完全脱离代码并清理域对象。

也许看看NHibernateActive Record

不,它根本不是愚蠢的,事实上,这就是每个人都应该这样做的方式。 业务对象不应包含任何持久性逻辑。

顺便说一句,如果您使用的是C#3.0,那么您可能甚至不会厌烦使用Factory类。 只需创建扩展方法。 这样,您仍然可以将持久性代码与业务对象隔离,并且仍然可以调用myObject.Save()。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM