Các mẫu thiết kế Python - Lệnh
Command Pattern bổ sung một mức độ trừu tượng giữa các hành động và bao gồm một đối tượng, gọi các hành động này.
Trong mẫu thiết kế này, khách hàng tạo một đối tượng lệnh bao gồm một danh sách các lệnh sẽ được thực thi. Đối tượng lệnh được tạo thực hiện một giao diện cụ thể.
Sau đây là kiến trúc cơ bản của mẫu lệnh:
Làm thế nào để thực hiện mẫu lệnh?
Bây giờ chúng ta sẽ xem cách thực hiện mẫu thiết kế.
def demo(a,b,c):
print 'a:',a
print 'b:',b
print 'c:',c
class Command:
def __init__(self, cmd, *args):
self._cmd=cmd
self._args=args
def __call__(self, *args):
return apply(self._cmd, self._args+args)
cmd = Command(dir,__builtins__)
print cmd()
cmd = Command(demo,1,2)
cmd(3)
Đầu ra
Chương trình trên tạo ra kết quả sau:
Giải trình
Đầu ra thực hiện tất cả các lệnh và từ khóa được liệt kê bằng ngôn ngữ Python. Nó in ra các giá trị cần thiết của các biến.