Saya mencoba untuk memahami cara menerapkan decoupling yang baik antara UI dan model, tapi saya mengalami kesulitan mencari tahu di mana harus membagi garis.
Saya telah melihat Model-View-Presenter, tapi saya tidak yakin bagaimana cara mengimplementasikannya. Misalnya, Tampilan saya memiliki beberapa dialog ..
- Haruskah ada kelas tampilan dengan instance dari masing-masing dialog? Lalu dalam hal itu, bagaimana seharusnya dialog berinteraksi dengan Presenter? yaitu. jika sebuah dialog individual perlu meminta data dari Model melalui Presenter, bagaimana seharusnya dialog mendapatkan referensi ke Presenter? Melalui referensi ke Tampilan yang diberikan padanya selama konstruksi?
- Saya berpikir mungkin pandangan harus kelas statis? Kemudian dialog GetView dan dapatkan Presenter dari sana ...
- Saya telah berpikir tentang pengaturan Presenter dengan kepemilikan View dan Model (sebagai lawan dari View memiliki Presenter dan Presenter memiliki Model) dan Presenter mendaftarkan panggilan balik untuk acara di View, tetapi itu membuatnya tampak banyak. lebih berpasangan (atau bahasa tergantung, setidaknya.)
Saya mencoba untuk:
- buat ini sebagai dipisahkan mungkin
- idealnya memungkinkan untuk memasangkan Presenter / Model dengan Tampilan dari bahasa lain (Saya belum melakukan banyak hal antar-bahasa, tapi saya tahu itu mungkin, terutama semakin
void(void)
saya bisa bertahan, setidaknya aplikasi C # dengan Pustaka C ++ - menjaga kode tetap bersih dan sederhana
Jadi .. ada saran bagaimana interaksi harus ditangani?