4

我正在为 asp.net web api 2 构建我自己的基于令牌的身份验证,我对这个类有疑问user

目前我的user班级实施IPrincipaland IIdentity,但我不知道最佳实践是什么。你会划分IPrincipal并使实现IIdentity成为其中的IIdentity一员IPrincipal吗?

目前我使用以下类声明

class User : IPrincipal, IIdentity

谢谢!

4

1 回答 1

3

你会划分 IPrincipal 和 IIdentity 并使 IIdentity 实现成为 IPrincipal 的成员吗?

我认为这不是一个好方法,因为如果Identity类似于,IPrincipal则不应该有任何分开的理由。

此外,到目前为止,您的类实现了这两个接口。这意味着您的类实现了两个接口的方法。如果您稍后出于任何原因决定您的类不应该实现一个或另一个接口,您应该只需要删除与您要删除的接口相关联的方法的实现。

除了上述之外,请记住以下几点:

接口隔离原则 (ISP) 指出不应强迫任何客户端依赖它不使用的方法

这是SOLID的五项原则之一,是面向对象编程和设计的一些基本原则。

于 2015-02-23T16:45:09.830 回答