创建良好的接口,应该包括什么以及应该忽略什么

时间:2009-11-18 21:02:03

标签: asp.net architecture interface

我正在2年内第三次更新网站,看起来这种情况一直都会发生,而且有几个网站正在使用相同的数据库。我想对所有这些代码使用相同的代码,并且将来可以轻松更新。所以我计划编写一些接口,然后将业务登录放在一个服务中,以保持一致性,并添加一些单元测试。

所以我正在查看我当前的存储库,我不确定我的界面应该是什么以及我的服务应该是什么。

例如我有一个Add方法 - 没有脑子我在界面中添加了Add并在服务中添加了一个。

然后我有一个AuthenticateAccountManager方法,它接受3个参数,如果它们在两者或只是服务中并且在我的界面中有一个简单的Get方法(比如用户名),然后对服务中的其他2个属性进行验证

我还有一个QualifyPartner,它将bool设置为true,如果这只是在Service中,并且在我的界面中再次使用一个简单的Get方法,试图尽量减少它?

1 个答案:

答案 0 :(得分:1)

遵循Separation of Concerns原则 - AuthenticateAccountManager是服务级别的操作。它应该调用您的存储库,它将返回原始用户数据。然后,该服务根据存储库返回的内容进行身份验证。

一般准则是存储库负责检索和提交仅的数据。基于数据解释和执行行为是业务逻辑。