30/09/2018, 17:06

Design Patterm Template method

Mấy anh chị cho em hỏi cái ạ!!
em đang tìm hiểu về Design patterm về mẫu template method. mấy anh chị cho e hỏi về các mẫu thiết kế liên quan cái ạ… có mẫu Factory method: factory method được gọi bởi template method. e vẫn chưa thể hiểu được câu này… các anh chị có thể cho em ví dụ cụ thể được không ạ…

Tom Nguyen viết 19:08 ngày 30/09/2018

factory method được gọi bởi template method

Đề nghị bạn copy nguyên văn câu này, tầm 5 dòng trên và dưới là đẹp. Nếu có thể gửi luôn tên sách, tác giả là ai, câu này dòng bao nhiêu càng tốt.

Về các design pattern liên quan thì Template Method là thuộc nhóm Behavioral nên nó có nhiều điểm giống với các pattern khác trong nhóm này như Stategy chẳng hạn.

Factory method và Template method nhìn thì rất giống nhau vì nó đều để subclass triển khai abstract method từ lớp cha. Tuy nhiên Factory Method thuộc nhóm Creational (nhóm khởi tạo) nên mục đích của FM là khởi tạo ra đối tượng. Còn Template Method là để lớp con quyết định nội dung của bahavior.
Nó là 2 nhóm khác nhau, ý nghĩa và cách dùng khác nhau nhé.

Xem ảnh đây để thấy ý nghĩa rõ ràng của nó:

Tuấn Nguyễn viết 19:08 ngày 30/09/2018

Câu nguyên văn của nó đây ạ…
Factory Methods (107) are often called by template methods
http://www.uml.org.cn/c++/pdf/DesignPatterns.pdf
nó nằm ở phần template method á a…

Tom Nguyen viết 19:20 ngày 30/09/2018

often called by template methods

Điều này theo logic cũng hợp lý. Vì template method là để setup 1 list các hoạt động con trong đó thông thường sẽ có hoạt động khởi tạo đối tượng sử dụng Factory Method.

Như ảnh minh họa ở trên, thay vì bạn gọi thẳng Tea myTea = new Tea; thì có thể thay =
Tea myTea = TeaFactory::create(); hay cách viết nào đó tương tự sử dụng Factory Method.

Bạn thấy dễ hiểu như chim đà điểu chưa

Tuấn Nguyễn viết 19:12 ngày 30/09/2018

e vẫn chưa hiểu lắm cái cách viết nào đó tương tự sử dụng Factory method a à… e đã nghiên cứu factory method nhưng vẫn không hiểu được trong này nó gọi kiểu j… và làm sao biết được cái mà nó gọi lại là factory method ạ…

Bài liên quan
0