我正在为asp.net web api 2构建自己的基于令牌的身份验证,我对user
类有疑问。
目前,我的user
课程实施了IPrincipal
和IIdentity
,但我不知道最佳做法是什么。您会将IPrincipal
和IIdentity
分开并使IIdentity
实施成为IPrincipal
的成员吗?
目前我使用以下类声明
class User : IPrincipal, IIdentity
谢谢!
答案 0 :(得分:3)
您是否会将IPrincipal和IIdentity分开并成为IIdentity 实施IPrincipal成员?
我认为这不是一个好方法,因为如果Identity
与IPrincipal
类似,则不应该有任何理由被分开。
此外,截至目前,您的类实现了两个接口。这意味着您的类实现了两个接口的方法。如果您稍后因任何原因决定您的类不应该实现一个或另一个接口,那么您只需要删除与要删除的接口绑定的方法的实现。
除上述内容外,请注意以下几点:
接口隔离原则(ISP)声明没有客户端应该 被迫依赖它不使用的方法
这是五个SOLID原则中的一个,它是面向对象编程和设计的一些基本原则。