如果您必须根据用户类型限制/修改功能,您如何设计软件的架构?例如,假设我们有3种用户类型:
我们正在实施图片上传API的功能。
现在棘手的部分是:
嗯,我知道我可以对处理请求的方法执行'if',但由于还有许多其他类似的情况(依赖于用户类型的功能),我想找到一个更好的和更多这个问题的可扩展解决方案。
有什么想法吗?
答案 0 :(得分:1)
您可以使用多态,即具有针对每种情况以不同方式实现相同方法的不同子类。
例如,您可以拥有User
类,其中包含子类FreeUser
,PremiumUser
和BusinessUser
,当您调用User.UploadImage
时,每个子类型都可以用户会有不同的限制。
基类将包含所有其他方法(类似情况)。