Esempio
Spiegherò il paradigma di seguito, ma sto specificatamente parlando del codice di Service Builder di Liferay per chiunque conosca tale piattaforma.
Fondamentalmente in Liferay puoi definire un modello e le sue proprietà in un file xml. Diciamo che abbiamo un'entità Student con le seguenti proprietà: studentId, nome, età, grado, genere. Da quel modello Liferay costruisce le seguenti classi
- Studente (interfaccia per il modello)
- StudentImpl
- StudentService (interfaccia per il servizio)
- StudentServiceImpl
- StudentServiceUtil
Nella classe StudentSericeImpl puoi scrivere l'implementazione per tutti i metodi che vuoi nella tua classe StudentService. Supponiamo di avere la seguente interfaccia:
interface StudentService {
public Student createStudent(String name, int age, double grade, boolean gender);
public Student getStudent(long studentId);
}
Quindi lo StudentLocalServiceImpl implementerebbe tali metodi. Tuttavia nel tuo codice non avresti mai inizializzato il tuo servizio o creato un modello come questo.
StudentService studentService = new StudentServiceImpl()
Student chris = studentService.createStudent("chris", 27, 36.23, false);
Invece dovresti usare la classe util.
Student chris = StudentServiceUtil.createStudent("chris", 27, 36.23, false);
Puoi quindi anche implementare la classe StudentService
in pochi altri modi. Ad esempio, puoi creare un StudentServiceSoap
per l'utilizzo remoto di un servizio SOAP.
Pensi che questa classe util sia utile, e se sì per quali ragioni?