标签:委托 子类 而不是 loading 下载 sel 外部 down tar
什么叫更加牛逼的对象?其实是一种更高级别的对象——管理对象class Host: def __init__(self, hostname, ip): self.hostname = hostname self.ip = ip def patch_repair(self): #管理者方法(补丁修复顺序) self.download_patch() #下载 self.install_patch() #安装 self.reboot_system() #重启 def download_patch(self): #补丁下载 print("{} Start downloading the patch".format(self.hostname)) def install_patch(self): #补丁安装 print("{} Start install patch".format(self.hostname)) def reboot_system(self): #重启系统 print("{} Start reboot system".format(self.hostname)) if __name__ == '__main__': h = Host("pc001", "192.168.89.67") h.patch_repair()
似乎没毛病!那么这样做的好处是啥?
1、增强可读性,每一个步骤的代码都是独立的,
2、增强可扩展性,如果子类只需下载补丁的方法,那么就可以直接继承并覆盖它,重写它
3、增强隔离性,一个外部类可以创建这个类的实例,可以直接使用其中的一个方法,而不是 patch_repair
标签:委托 子类 而不是 loading 下载 sel 外部 down tar
原文地址:http://blog.51cto.com/freshair/2064521