Umarım bu yazıda, JSF sayfaları ve destekleyici fasulye arasındaki arayüz için en iyi uygulamalar hakkında insanların görüşlerini alabilirim.
Asla çözemeyeceğim bir şey, destek fasulyelerimin yapısı. Üstelik konuyla ilgili hiç iyi bir makale bulamadım.
Hangi destek fasulyelerine hangi özellikler aittir? Yeni bir çekirdek oluşturmak ve üzerine özellikleri eklemek yerine, belirli bir çekirdeğe daha fazla özellik eklemek ne zaman uygundur? Basit uygulamalar için, bir fasulyeyi diğerine enjekte etmenin karmaşıklığı göz önünde bulundurulduğunda, tüm sayfa için sadece tek bir destek fasulyesine sahip olmak mantıklı mı? Destek fasulyesi herhangi bir gerçek iş mantığı içermeli mi yoksa kesinlikle veri içermeli mi?
Bu ve ortaya çıkabilecek diğer soruları yanıtlamaktan çekinmeyin.
JSF sayfası ile destek fasulyesi arasındaki bağlantıyı azaltmaya gelince, JSF sayfasının herhangi bir destek fasulyesi mülkünün özelliklerine erişmesine asla izin vermem. Örneğin, aşağıdaki gibi bir şeye asla izin vermem:
<h:outputText value="#{myBean.anObject.anObjectProperty}" />
Her zaman şöyle bir şeye ihtiyacım var:
<h:outputText value="#{myBean.theObjectProperty}" />
destek fasulyesi değeri:
public String getTheObjectProperty()
{
return anObject.getAnObjectProperty();
}
Bir koleksiyon üzerinde döngü oluşturduğumda, örneğin bir veri tablosundaki bir nesnenin ayrıntılarına inmekten kaçınmak için bir sarmalayıcı sınıfı kullanıyorum.
Genel olarak, bu yaklaşım bana "doğru" geliyor. Görünüm ve veriler arasında herhangi bir bağlantı olmasını önler. Yanılıyorsam lütfen beni düzeltin.