相关疑难解决方法(0)

与asp.net mvc一起使用的好IOC框架?

我想知道asp.net mvc有什么好的简单IoC框架?有很好的文档,很容易起床和去.

谢谢

.net asp.net-mvc ioc-container

5
推荐指数
1
解决办法
2504
查看次数

在数据持久层中需要多少抽象级别?

我正在使用DDD技术编写应用程序.这是我第一次尝试DDD项目.这也是我的第一个绿地项目,我是唯一的开发商.我充实了域模型和用户界面.现在我开始使用持久层.像往常一样,我开始进行单元测试.

[Test]
public void ShouldAddEmployerToCollection()
{
    var employerRepository = new EmployerRepository();
    var employer = _mockery.NewMock<Employer>();

    employerRepository.Add(employer);
    _mockery.VerifyAllExpectationsHaveBeenMet();
}
Run Code Online (Sandbox Code Playgroud)

如您所见,我没有对Add()函数写任何期望.我做到了这一点,并意识到我还没有确定一个特定的数据库供应商.事实上,我甚至不确定它是否需要数据库引擎.平面文件或xml可能同样合理.所以我想知道我的下一步应该是什么.

我应该添加另一层抽象...说一个DataStore接口还是找一个已经为我完成工作的现有库?如果可以的话,我想避免将程序绑定到特定的数据库技术.

c# abstraction domain-driven-design repository

4
推荐指数
1
解决办法
885
查看次数

组织数据库工作的最佳方式

我想知道从C#代码组织数据库的最佳方法是什么.

我曾经有过不同的方法:

  1. 每个对象都有Save,Update和Delete方法,它们实现了所有逻辑.
  2. 有一些静态类具有静态方法Get,GetList,Update - 几乎与以前相同的方法,但数据库逻辑是从数据域类中提取的.

现在我认为为每个需要存储的datadomain类存放一些非静态类会很好,这将会进行存储.

最好的方法是什么?有没有好的库提供良好的API来存储对象?

c# database architecture

4
推荐指数
1
解决办法
1297
查看次数

我的代码充斥着服务接口!

大家好.我使用存储库和服务模型遇到了一种奇怪的设计模式.ASP.NET MVC,WCF和一些Windows服务的应用程序组成部分.我的存储库正在使用LINQ DataContext.随着我的应用程序的发展,我发现自己在任何地方都传递了对IWhateverService服务的引用.例如,我有IAccountService,它定义了ChangePlan(帐户帐户,计划计划)等方法.

现在,似乎IAccountService是放置此方法的最佳位置,因为我们在此处为帐户提供服务.但是,ChangePlan方法在实际更改计划之前需要了解一些事情.它必须知道用户的当前使用情况,可用计划列表,用于计费的电子商务服务界面的实例等.

我认为让ChangePlan方法接受IAccountService接口中的所有必需服务.但是这些其他服务的要求是实现的问题,不应该是接口定义的一部分.

所以现在我发现自己为AccountService创建了一个巨大的构造函数,它采用了IAccountRepository,IPlanService,IUsageService,IEcommerceService和IValidationDictionary的实例.这根本感觉不对.

现在采取这种情况.显然,IAccountService包含一个通过ID检索用户帐户的简单方法:Account Get(int id)有几次我只需要调用此方法.所以,我去创建我的AccountService,它想要所有这些其他服务的实例(特别是IValidationDictionary,我不需要验证).再次,这感觉不对.我可以传递null,但这只是因为我知道实现不会将它们用于此方法.

另外,为了避免在我需要的地方实例化服务,我创建了一个名为ServiceFactory的静态类,它有静态方法,CreateAccountService,CreatePlanService等......我在应用程序周围调用这些方法.似乎没问题,但我不能动摇这种不合适的感觉.

我的断开在哪里?有人有什么建议吗?

谢谢.

安德鲁

c# asp.net-mvc service repository-pattern

3
推荐指数
1
解决办法
637
查看次数

3
推荐指数
1
解决办法
972
查看次数