Saya berharap dalam posting ini, saya bisa mendapatkan pendapat orang-orang tentang praktik terbaik untuk antarmuka antara halaman JSF dan kacang pendukung.
Satu hal yang tidak pernah bisa saya atasi adalah struktur kacang pendukung saya. Selain itu, saya tidak pernah menemukan artikel bagus tentang masalah ini.
Properti apa yang dimiliki kacang pendukung? Kapan saat yang tepat untuk menambahkan lebih banyak properti ke kacang tertentu daripada membuat kacang baru dan menambahkan properti ke dalamnya? Untuk aplikasi sederhana, apakah masuk akal untuk hanya memiliki satu kacang pendukung untuk keseluruhan halaman, mengingat kerumitan yang terlibat dengan menyuntikkan satu kacang ke kacang lainnya? Haruskah kacang pendukung mengandung logika bisnis yang sebenarnya, atau haruskah itu benar-benar berisi data?
Jangan ragu untuk menjawab pertanyaan ini dan pertanyaan lain yang mungkin muncul.
Adapun untuk mengurangi kopling antara halaman JSF dan kacang pendukung, saya tidak pernah mengizinkan halaman JSF untuk mengakses properti properti kacang pendukung. Misalnya, saya tidak pernah mengizinkan sesuatu seperti:
<h:outputText value="#{myBean.anObject.anObjectProperty}" />
Saya selalu membutuhkan sesuatu seperti:
<h:outputText value="#{myBean.theObjectProperty}" />
dengan nilai kacang pendukung:
public String getTheObjectProperty()
{
return anObject.getAnObjectProperty();
}
Ketika saya mengulang koleksi, saya menggunakan kelas pembungkus untuk menghindari pengeboran ke objek dalam tabel data, misalnya.
Secara umum, pendekatan ini terasa "tepat" bagi saya. Ini menghindari keterkaitan antara tampilan dan data. Harap perbaiki saya jika saya salah.