Il s'agit d'une question/problème général que j'ai rencontré. Je me demande si quelqu'un connaît des modèles ou des techniques de conception bien adaptés.
private ExternalObject personObject;
private String name;
private int age;
private String address;
private String postCode;
public MyBuilderClass(ExternalObject obj)
this.personObject=obj;
build();
}
public build() {
setName(personObject.getName());
setAge(personObject.getAge());
setAddress(personObject.getAddress());
setPostCode(personObject.getPostCode());
.
.
. many more setters
}
La classe ci-dessus prend des objets externes dans une file d'attente et construit des objets MyBuilderClass.
Un objet MyBuilderClass est construit avec succès si tous les champs ont reçu des valeurs non nulles et non vides.
Il y aura de nombreux objets MyBuilderClass qui ne pourront pas être construits parce que des données seront manquantes dans l'ExternalObject.
Mon problème, quelle est la meilleure façon de détecter si un objet a été correctement construit ?
- Je pourrais vérifier la présence de valeurs nulles ou vides dans les méthodes set et lancer une exception. Le problème avec cette approche est que la levée d'exceptions est coûteuse et qu'elle va encombrer les fichiers journaux car il y aura de nombreux cas où un objet ne pourra pas être construit ;
Quelles autres approches pourrais-je utiliser ?