Saya mencoba merancang kelas "utama" Aplikasi Rich Desktop berdasarkan NetBeans Platform 7. Aplikasi ini akan menggunakan layanan HTTP dan, melalui "sistem push" melalui TCP, akan menerima pesan.
- Kami adalah 3 pengembang dan kami ingin mengembangkan modul secara paralel
- Aplikasi akan berlapis (Data, Bisnis, Presentasi)
- Kami akan menggunakan Model Presentasi untuk memisahkan tanggung jawab
- Beberapa data terperinci (misalnya orang Bean) akan dibagikan oleh beberapa layar (dan mungkin ditampilkan pada beberapa layar pada saat yang bersamaan)
- ...
Kami dapat mengembangkan layar individual, tetapi Kami tidak tahu persis bagaimana mengatur seluruh aplikasi dan menentukan setiap konten modul.
- Jadi, apakah Anda punya saran (pola / praktik terbaik / buku / contoh aplikasi) untuk mengoordinasikan / mengelola interaksi di dalam seluruh aplikasi?
- Adakah saran tentang cara mendefinisikan konten modul?
Terima kasih!
Contoh kecil untuk menggambarkan apa yang ingin saya buat: Aplikasi Manajemen Pengguna Foo
- Luncurkan aplikasi
- Di [explorer] kiri kami memiliki daftar platform (daftar disimpan dalam file lokal)
- Di bagian atas kami memiliki tombol untuk menambahkan Platform baru (juga tersedia dengan klik kanan)
- Dengan mengklik dua kali pada platform, aplikasi memanggil layanan HTTP untuk mengambil daftar lengkap pengguna. Daftar ini ditampilkan di [editor] (dalam JTable)
- Proses latar belakang dimulai: melalui koneksi TCP kami menerima pesan
- Dimungkinkan untuk menambahkan pengguna baru berkat tombol di Toolbar
Jika aplikasi diluncurkan pada PC lain, dan jika pengguna terhubung ke platform yang sama, Daftar Pengguna akan diperbarui secara dinamis (tambah / hapus / status: {offline / online}) (terima kasih atas pesan)
Di masa depan, Modul Obrolan akan disediakan.
Pertanyaan saya adalah (dengan kata lain): ada saran / praktik terbaik untuk memutuskan konten setiap modul? Jika PM (Model Presentasi) adalah cara yang baik untuk memisahkan tampilan / bisnis dan data dan membuat layar, apa cara terbaik untuk menghubungkan beberapa layar berdasarkan PM? Bayangkan kita mengembangkan Modul Obrolan, bagaimana cara menambahkan entri "Diskusikan dengan ..." ke menu Konteks yang tersedia dengan klik kanan pada Daftar Pengguna?
sumber
Jawaban:
Mengingat kebutuhan Anda, untuk memulai dengan hal-hal pemrosesan inti harus dibuat dari Pola Perintah dan nanti Anda dapat menggunakan pola Template untuk pemroses permintaan. Dan seterusnya. Tidak ada yang disebut pola Master. Jika ada, mereka tidak akan membutuhkan kita lagi.
Idenya adalah memiliki desain yang akan memungkinkan Anda untuk berkembang dengan persyaratan.
Saya akan mulai dengan membuat antarmuka modul dasar dan memberikan antarmuka untuk semua orang dan beberapa utilitas di sekitarnya. Biarkan semua orang menerapkan modul mereka sendiri berdasarkan modul-dasar.
sumber
Saya pikir Anda sedang melihat pola MVC cukup klasik yang didukung oleh layanan (TETAPI saya berasumsi). Kuncinya adalah memisahkan layanan dari UI. Ini bukan karena Anda memperkenalkan UI alternatif, tetapi karena memberi Anda kejelasan tentang seperti apa antarmuka layanan Anda.
Jadi ketika Anda berpikir tentang
getPeople
layanan, pastikan Anda berpikir tentang bagaimana UI sekunder (non-Swing) akan berinteraksi dengan layanan. Jika Anda mengingatnya, Anda akan menemukan solusi yang cukup fleksibel / terpisah.sumber