模型的变量应该是私有的,以某种方式给予更大的安全性,还是不应该是私有的?
我非常感谢你的帮助
代码
-- Flutter --
List FavoritosUsuarioFromJson(String str) => List<InfoModel>.from(json.decode(str).map((x) => InfoModel.fromJson(x)));
class InfoModel{
String name;
String email;
InfoModel({required this.name,required this.email});
factory InfoModel.fromJson(Map<String, dynamic> parsedJson){
return InfoModel(
name: parsedJson['usu_name'],
email: parsedJson['usu_email'],
);
}
}
2条答案
按热度按时间mwg9r5ms1#
一般来说,为了封装和保护类的内部状态,将变量设为私有是一个好的做法。通过将变量设为私有,可以限制从类外部直接访问,这有助于防止意外的修改并确保正确的数据处理。
在代码示例中,InfoModel类中的变量name和email未标记为private,因此可以从类外部访问它们。如果您想将它们设为私有,可以在它们的名称前添加下划线(_):
通过使变量私有化,代码的其他部分将需要使用getter和setter方法来访问或修改这些变量。这提供了对如何访问和操作变量的更好的控制。
但是,需要注意的是,单独使变量私有并不能保证绝对的安全性。这只是维护代码完整性的一个方面。根据应用程序的上下文和要求,您可能需要考虑其他安全措施,如输入验证、加密、访问控制等,以确保系统的整体安全性。
sqserrrh2#
我不认为将模型私有化是强制性的,因为它将MVC中的业务逻辑保持在远离表示层的位置,并且检索数据的方法应该可以从控制器访问。
无论如何,你都应该让模型内部使用的方法或变量成为私有的。