比如 Django 中要修改个数据 model 的删除状态。
def delete_instance(model_obj):
model_obj.deleted = True
类似这种写法,model_obj 当然是 Django 中一个 models.Model 的类实例。 我的意见是肯定不能这么写,一来不安全,这个 model_obj 可以进行 model 的所有操作。二来在其他地方调用的时候还需要先 get 到这个 model_obj,复用贼麻烦。但还是说不过同事,哎。
1
kanchi240 2017-06-19 13:15:59 +08:00
如果不这么弄,函数参数太多怎么办,楼主给个解决方案
|
2
pixstone 2017-06-19 13:21:34 +08:00
def delete_instance(model_obj): 这个方法直接写在 model 里。
Book.delete_instance(id) ??? |
5
chairuosen 2017-06-19 18:40:04 +08:00
这是写在工具类里,写在对象上的话,如果这个动作要干一些别的事情,就会依赖倒置。
|
6
jswh 2017-06-19 18:42:11 +08:00
这不面向对象
|