Senarionya adalah seperti berikut:
Pelanggan akan menghantar mesej asal melalui SDK Selepas menerima mesej, modul yang saya bangunkan sekarang akan mengekstrak dan menukar mesej mengikut konfigurasi untuk menghasilkan format mesej baharu, dan hantar ke modul hiliran melalui mq.
Jika anda menggunakan corak, apakah yang sepatutnya?
Diedit pada: 22 Jun 2017 18:00
Mungkin saya tidak menerangkannya dengan jelas, yang membawa kepada salah faham Sila huraikan adegan itu secara terperinci:
Terima mesej
Tentukan pelanggan mana mesej dihantar, dan keluarkan konfigurasi pelanggan di latar belakang
Ekstrak dan tukar mesej berdasarkan maklumat konfigurasi untuk menjana mesej dalam format baharu
Hantar mesej baharu ke modul belakang lain untuk diproses
Fungsi yang telah anda lengkapkan ialah penukar yang mengehadkan format data yang diperlukan, seperti id, jenis dan kandungan Anda boleh menulis antara muka dengan kaedah getId, getType dan getContent, dan memerlukan pelaksana untuk memberikan nilai ini. .
Selepas melalui penukar anda, anda mendapat objek yang berbeza.
Saya rasa ia boleh dicapai seperti ini:
Untuk mesej yang berbeza, terdapat pemproses mesej yang berbeza (Pengendali) untuk melengkapkan fungsi yang sepadan, pengekstrakan mesej dan penjanaan mesej baharu, dsb.
Pengendali ini melaksanakan antara muka biasa, dan Pengendali baharu boleh ditambah pada masa hadapan
Semua Pengendali membentuk rantaian pemprosesan Setiap Pengendali mempunyai kaedah perlawanan untuk menentukan sama ada ia perlu dikendalikan dengan sendirinya.
Jadi saya rasa kita boleh mempertimbangkan model rantaian tanggungjawab, model strategi, dll.
Keperluan yang begitu mudah, penyesuai, sesuaikan sahaja