Self-Registering Classes in C++

Có ai biết về dạng class này ko ạ ? Mình đọc trong quyển Hacker’s Guide C++ mà ko hiểu lắm.
Dưới đây là nội dung được ghi trong sách:





Không biết có đúng không nhưng có vẻ nó là 1 design pattern factory.
http://laptrinh.vn/d/4350-huong-dan-java-design-pattern-factory.html

Bạn có 1 lớp factory (nhà máy) lớp này cho phép bạn tạo ra các đối tượng khi truyền vào 1 key.

Key ở đây không phải là factory pattern với khả năng instance object dựa trên yêu cầu, cũng không phải strategy pattern với khả năng thay đổi ứng xử lúc runtime mặc dù nó có 1 vài điểm chung mà là khả năng tự động add chính class con ngay khi instance nhằm add thêm 1plugin có khả năng thực hiện 1 chức năng nào đó vào trong 1 master command, do đó nó mới được gọi là self register, có thể hiểu như là cài thêm plugin cho software vậy đó

a có thể hướng dẫn thêm được k ạ. Ví dụ e code xong class cmd như trên, r tạo thêm 1 class khác kế thừa class cmd trên ví dụ class banhkem, trong class này có hàm void inbanhkem();. Vậy bi h làm thế nào để có thể thực hiện lệnh inbanhkem này được trong khi ở hàm main e khai báo 1 object banhkem thì bị lỗi ạ!!

bạn có thấy có method void do_it() ở class cmd chính không, đây chính là cửa vào và custom job cho bạn vì thế hãy override lại method này và gọi tới method void inbanhkem(); của bạn, để add 1 plugin vào master cmd, bạn chỉ cần instance 1 object bằng class con đó là xong

cũng chưa hiểu lắm nhưng mà cảm ơn :smiley:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?