2012-02-29 9 views
6

मुझे आश्चर्य है कि किस तरह से प्राथमिकता दी जानी चाहिए: पूर्ण वर्गनाम.प्रोपर्टी द्वारा बीन वर्र्स का समर्थन करने के लिए, या उत्पादक विधि द्वारा केवल संपत्ति का नाम सीधे पहुंचने के लिए? खास तौर पर अगर परियोजना कक्षाएं, सेवाओं, अग्रभाग आदिउत्पादक तरीके बनाम नामित वर्ग

@Named 
public Service { 
    List<Customer> getCustomers(); 
} 

use: 
<h:dataTable value="#{service.customers}" /> 

या मेरे लिए

public Service { 
    @Produces 
    @Named 
    List<Customer> getCustomers(); 
} 

use: 
<h:dataTable value="#{customers}" /> 

सबसे पहले जिस तरह से लाभ यह है की बहुत कुछ के साथ बहुत बड़ा बढ़ता है कि मैं JSF, मैं हमेशा बदलना होगा अगर पूर्ण योग्य नाम के कारण मुझे पता होना चाहिए कि मुझे किस वर्ग को संशोधित करना है।

यह ओबीवी दूसरे तरीके के लिए नुकसान होगा, लेकिन इसके विपरीत कई सेवाओं और कक्षाओं के मामले में पढ़ने के लिए बेहतर तरीका है।

विशेषज्ञ क्या कहते हैं?

उत्तर

0

आईएमओ, मैं पहले मार्ग के साथ जाता हूं। रिफैक्टरिंग के साथ यह भी आसान है (मान लें कि आपका आईडीई जेएसएफ पृष्ठों में भी नाम बदल जाएगा)। हालांकि, ईमानदारी से यह मैं व्यक्तिगत स्वाद की बात होने की उम्मीद करता हूं।

service.property का उपयोग करने का एक अन्य लाभ संपत्ति को संशोधित करने की क्षमता है और यह यूआई पर दिखाई देता है। यदि आप एक निर्माता का उपयोग कर रहे हैं, तो निर्माता को केवल एक बार प्रति गुंजाइश कहा जाता है जहां गेटर को हर समय बुलाया जाता है (एक और प्रदर्शन व्यापार बंद)। चीजों को करने के लिए कई तरीके हैं और जो भी काम करता है वह बहुत अच्छा है, इस तरह का उपयोग करें।

0

मैं पहले विकल्प के साथ जाऊंगा क्योंकि मैं हमेशा प्रबंधित बीन का संदर्भ देता हूं जो पृष्ठ से प्रासंगिक है। मेरा मानना ​​है कि यह एक और समझने योग्य कोड है।