什么叫更加牛逼的对象?其实是一种更高级别的对象——管理对象
什么是管理对象:
一种用来管理其他对象的对象,这种对象可以将一切都绑在一起
管理对象的作用:
将工作委托给其他方法,只需按照规定好的顺序委托其他方法工作
好吧!有点晕乎乎的感觉!我想了个例子,比如系统打补丁。
操作系统打补丁一般需要经历三个步骤:
1、下载补丁
2、安装补丁
3、重启系统
那么,管理对象只需确保这3个步骤按顺序发生即可!!
下面的代码只是对事件的模拟,看下面的代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
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
本文转自 TtrToby 51CTO博客,原文链接:http://blog.51cto.com/freshair/2064521