我正在阅读您的第一个基于NHibernate的正式应用程序。
尽管本教程很好且易于遵循,但我想知道为什么使用存储库模式。
在不同的Add
,Update
,Remove
在方法ProductRepository
的实现,代码是几乎相同的-他们使用的所有交易,不同的是在“肉”,即调用session.Save
INT的Add
方法,session.Delete
在remove
方法。(页面缺少HTML锚,但你可以搜索页面像相关的代码public void Remove
,public void Add
)
该代码只是“感到错误”。
作者为什么使用Repository模式-仅仅是为了演示使用NHibernate还是出于某些原因?
附言 我的背景是使用ActiveRecord的Ruby on Rails,所以我试图弄清NHibernate的工作方式/使用方式。
1
如果您喜欢ACtive Record模式,则可以使用城堡Active Record来坐在NHibernate castleproject.org/activerecord的
—
Ben Robinson
这是一个关键问题。关于是否使用它有一些争论。Ayende撰写了他的论点,认为不使用Repository是新的Singleton