我们在AngularJS上开发了一个应用程序,我们正在努力改进其流程和架构。我并不习惯AngularJS开发,因此我阅读this article关于数据模型架构和this one关于使用Javascript类的角度模型对象
基本上,这些文章建议开发人员创建一个标准模型(例如用户),可以处理用户数据(例如名称,图片等),并在Angular应用程序中使用这些对象。
我的问题是我们如何仍然使用这些对象来处理包含不完整/部分数据的对象?
例如:
我的用户模型具有以下结构:
User
+ name
+ picture
- sensitiveData
+ doSomethingWithSensitiveData()
案例1
当用户在应用程序中访问自己的个人资料时,他们可以访问此敏感数据"。 api返回:name, picture and sensitiveData
并保护用户模型。
案例2
当他们查看其他用户的个人资料时,他们只能看到姓名和图片。 api只返回name, picture
并为用户模型提供保湿。
案例3
当他们搜索用户时,他们只能看到用户'名。 api只返回name
并为用户模型提供保湿。
如果我对两种情况使用相同的类,sensitiveData
属性在 CASE 2 中将为空,因此方法doSomethingWithSensitiveData()
可能会失败或抛出{{ 1}}。 CASE 3 也会失败。
那么,在这些情况下使用复杂模型的最佳做法是什么?这种方法在概念上是否正确?