我目前正在使用Unity IOC容器开发基于DDD的应用程序,并且需要将我的自定义主体对象传递到允许进行单元测试的存储库和服务层。这应该怎么做?我目前的想法是在IPrincipal类型的服务和存储库类上创建一个属性。然后在Application_Start上使用Unity来设置并传入Principal。DDD:将IPrincipal注入服务和存储库层
其中之一,我在思考的正确轨道上?
二,如果不是在application_start,这似乎是不正确的地方,因为我需要一个人在注射发生之前首先登录,这应该发生在哪里?
三,对于Unity,container.RegisterType看起来应该从Thread.CurrentPrincipal还是HttpContext.Current.User获取主体?
什么是您的业务的主体?看起来你正在用技术术语污染你的域模型,或者你错过了一个有界的上下文。 – plalx 2014-11-17 13:56:06
委托人是指当前登录用户的用户凭证。 – user1790300 2014-11-18 17:57:13
这使得你意识到委托人可能不是一个商业术语,这更多的是一个反问的问题。这个概念应该被翻译成对你的域名有意义的概念。你将与校长进行什么样的操作? – plalx 2014-11-18 19:06:43