Là một bài tập học tập (tôi không ở trường - chỉ là một ông già cố gắng học một cái gì đó mới), tôi đang cố gắng viết một mô phỏng cổng logic kết hợp độ trễ lan truyền. Người dùng cũng có thể nhóm các cổng lại với nhau để tạo các đối tượng cấp cao hơn.
Tôi muốn áp dụng các mẫu thiết kế cho vấn đề của mình, nhưng tôi đang gặp khó khăn.
Tôi đang đọc các mẫu thiết kế đầu tiên và tôi thấy rằng mẫu Command là một cách tốt để mô phỏng các xung điện thông qua một mạch có độ trễ. Tôi cũng thấy rằng mẫu Tổng hợp là một cách tốt để mô phỏng các đơn vị lồng nhau. Tôi chỉ không biết làm thế nào để trộn cả hai.
Nói cách khác, khi tôi vòng qua cổng, tôi thấy cánh cổng 'x' sẽ bắn. Nó có độ trễ 15 nano giây, vì vậy tôi tạo một lệnh có dấu thời gian 15 ns từ thời gian trò chơi hiện tại. Người điều phối ở đâu? Trong ví dụ về thực khách, với lệnh là 'Đặt hàng', nhân viên phục vụ và đầu bếp mỗi người gửi lệnh và có tùy chọn giới thiệu độ trễ. Nếu tôi có một cổng 'composite', nó cũng có bộ điều phối riêng phải không? Tôi có cần sử dụng Singleton để quản lý hàng đợi không?
Tôi đọc những gì tôi có thể tìm thấy, nhưng tôi vẫn cần một cú hích đúng hướng: