用户级别,类型变量VS继承

本文关键字:VS 继承 类型变量 用户 | 更新日期: 2023-09-27 18:20:23

我使用的是C#和asp。NET来构建一个必须具有user level (cashier, admin, and normal user),这些用户都有相同的attributes (User, Password, Name) and methods.我的问题是,使用继承为从user继承的每种类型的用户创建类,或者在user类上使用"type"标志,什么更好?不同类型的用户将访问应用程序的不同部分。提前感谢

用户级别,类型变量VS继承

"什么更好"给出了一种主观的答案。但是,当您考虑KISS和YAGNI等原则时,您可以通过一个标志(或返回枚举的属性)来成功。在你需要不同的成员之前,把它放在同一个类中。

它使支票更可读,就像你可以做一样

user.UserType == UserType.Cashier

而不是

user.GetType() == typeof(Cashier)