我正在为asp.net Web API 2构建自己的基于令牌的身份验证,并且对此类有疑问user
。
目前,我的user
课程实现了IPrincipal
和IIdentity
,但是我不知道什么是最佳实践。你会划分IPrincipal
和IIdentity
,使IIdentity
实现的一员IPrincipal
?
目前,我使用以下类声明
class User : IPrincipal, IIdentity
谢谢!
您是否将IPrincipal和IIdentity分开,并使IIdentity实现成为IPrincipal的成员?
我认为这不是一个好方法,因为如果与Identity
相似,IPrincipal
就没有任何理由分开。
此外,到目前为止,您的类同时实现了这两个接口。这意味着您的类将同时实现两个接口的方法。如果以后由于某种原因决定类不应该实现一个或另一个接口,则只需要删除与要删除的接口相关的方法的实现即可。
除上述内容外,请记住以下几点:
接口隔离原则(ISP)指出,不应强迫任何客户端依赖其不使用的方法
这是SOLID的五项原则之一,它们是面向对象编程和设计的一些基本原则。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句