限制直接构造
把类的实例化封装到get接口中,
对于不同的构造方法,封不同的get接口
使用装饰器统一控制所有get接口
具体写法
def check(func):
def wrap(*args, **kwargs):
obj = func(*args, **kwargs);
if hasattr(obj,"errordata"):
return obj.errordata
return obj
return wrap
在get接口前用 @check 修饰
在构造方法__init__里 如果产生了错误数据,用一个新的属性errordata来标识