GDPs – II.2 – Mẫu Command

Mẫu Command

Command là một trong những mẫu thiết kế yêu thích của tôi. Đa số chương trình tôi viết, game cũng như 1 số thứ khác, đều có sử dụng mẫu này. Khi sử dụng nó đúng lúc thì những đoạn code rối rắm thực sự trở nên đơn giản hơn nhiều. Gang of Four (GoF – nd: google “Design Patterns by Gang of Four để biết thêm chi tiết) đã mô tả về mẫu này một cách thâm thúy như sau:

Đóng gói một yêu cầu như là một đối tượng (nd: object), từ đó để cho người dùng (nd: lập trình viên) thông số hóa khách hàng với những yêu cầu khác nhau, như xếp hàng hoặc ghi chú các yêu cầu, và hỗ trợ những hành động có thể làm lại.

Tôi nghĩ chúng ta đều đồng ý rằng đây là một câu khủng khiếp. Đầu tiên, nó diễn tả sai những điều nó đang cố truyền tải cho chúng ta . Bên ngoài thế giới thực, nơi mà một từ có thể mang nhiều nghĩa , thì một ” khách hàng ” là một người — ai đó mà bạn kinh doanh cùng. Theo như lần cuối tôi kiểm tra, thì con người không thể được “ tham số hóa ”.

Tiếp đến, phần còn lại của câu liệt kê một loạt các thứ bạn có thể dùng mẫu thiết kế này. Nếu bạn chưa làm bất cứ thứ gì trong danh sách đó thì ứng dụng của mẫu này không rõ ràng lắm đối với bạn. Với tôi thì tôi định nghĩa mẫu Command một cách xúc tích như sau:

Một command (nd: lệnh – mình để command luôn) là một phương thức được sự vật hóa.

Advertisements

One thought on “GDPs – II.2 – Mẫu Command

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s