![]() |
1
0
我不认为重写你的控制器操作会感到“肮脏”。事实上,我在一个公共库中使用基本控制器操作来实现一些很容易抽象的功能,比如用户身份验证。另一方面,身份验证通常是非常特定于UI的,所以我不需要创建可重用的视图。 我也在我的应用程序中创建基本控制器类来处理创建/处理我的EF上下文等。 您可能需要考虑抽象数据访问。即使你正在使用NHibernate和 实现使用特定的数据库模式,您遇到了一个相当典型的代码重用问题:在可重用包中放入太多特定逻辑。作为一般规则,我试图在可重用代码中保留任何数据库细节。我使用POCO对象和接口,因此可以使用任何类型的数据源来创建我的对象。然后,我可能会有另一个程序集,其中包含使用SQL server、EF、我的首选数据库架构等的标准实现。但是,如果我需要将其连接到新版本中的其他简单实现接口,则需要将其连接到新版本中。 希望这能回答你的问题。 |