Pola reaktor dijelaskan di wikipedia , dan ini agak terlalu abstrak. Bisakah Anda menggambarkan pola ini dengan cara yang lebih konkret? Idealnya dengan potongan kode atau diagram kelas tingkat tinggi yang menjelaskan beberapa aplikasi pola reaktor.
Pola reaktor dijelaskan di wikipedia , dan ini agak terlalu abstrak. Bisakah Anda menggambarkan pola ini dengan cara yang lebih konkret? Idealnya dengan potongan kode atau diagram kelas tingkat tinggi yang menjelaskan beberapa aplikasi pola reaktor.
Jawaban:
Anda mungkin ingin memeriksa kertas asli yang menjelaskannya http://www.dre.vanderbilt.edu/~schmidt/PDF/reactor-siemens.pdf
Pola desain Reaktor menangani permintaan layanan yang dikirimkan secara bersamaan ke aplikasi oleh satu atau lebih klien. Setiap layanan dalam aplikasi dapat terdiri dari metode serveral dan diwakili oleh pengendali kejadian terpisah yang bertanggung jawab untuk mengirimkan permintaan khusus layanan. Pengiriman event handler dilakukan oleh dispatcher inisiasi, yang mengelola event handler terdaftar. Demultiplexing permintaan layanan dilakukan oleh demultiplexer peristiwa sinkron.
Sebuah reaktor memungkinkan banyak tugas yang blok (katakanlah karena IO) diproses secara efisien menggunakan satu utas. Reaktor mengelola kumpulan penangan dan menjalankan loop peristiwa. Saat dipanggil untuk melakukan tugas, ia menghubungkannya dengan penangan baru atau kosong sehingga membuatnya aktif. Perulangan peristiwa (1) menemukan semua penangan yang aktif dan tidak diblokir (atau mendelegasikan ini ke implementasi petugas operator) (2) mengeksekusi masing-masing penangan yang ditemukan ini secara berurutan hingga mereka menyelesaikan atau mencapai titik di mana mereka memblokir. Penangan yang sudah selesai menjadi tidak aktif dan kosong untuk digunakan kembali sedangkan penangan aktif yang diblokir menghasilkan, memungkinkan loop acara untuk melanjutkan. (3) Ulangi dari langkah (1)