Sebagai latihan belajar (saya tidak di sekolah - hanya seorang lelaki tua yang mencoba mempelajari sesuatu yang baru), saya mencoba untuk menulis simulasi gerbang logika yang menggabungkan penundaan propagasi. Pengguna juga harus dapat mengelompokkan gerbang bersama untuk membuat objek tingkat yang lebih tinggi.
Saya ingin menerapkan pola desain untuk masalah saya, tetapi saya mengalami kesulitan.
Saya membaca Head First Design Patterns , dan saya melihat bahwa pola Command adalah cara yang baik untuk mensimulasikan pulsa listrik melalui rangkaian dengan penundaan. Saya juga melihat bahwa pola Komposit adalah cara yang baik untuk mensimulasikan unit bersarang. Aku hanya tidak tahu bagaimana mencampur keduanya.
Dengan kata lain, ketika saya melewati gerbang saya, saya melihat bahwa gerbang 'x' akan menyala. Ini memiliki penundaan 15 nanosecond, jadi saya membuat perintah dengan cap waktu 15 ns dari waktu permainan saat ini. Di mana pengirimnya? Dalam contoh restoran, dengan perintah menjadi 'Pesanan', pelayan dan juru masak masing-masing mengirimkan perintah dan memiliki opsi untuk memperkenalkan penundaan. Jika saya memiliki gerbang 'komposit', apakah ia juga memiliki operator sendiri? Apakah saya perlu menggunakan Singleton untuk mengelola antrian?
Saya membaca apa yang bisa saya temukan, tetapi saya masih membutuhkan dorongan ke arah yang benar: