Combien d'arguments du constructeur est de trop?

Disons que vous avez une classe appelée Client, qui contient les champs suivants:

  • Nom d'utilisateur
  • E-mail
  • Prénom
  • Nom De Famille

Disons aussi que, selon une logique d'entreprise, tous les objets de Client doit avoir ces quatre propriétés définies.

Maintenant, on peut le faire assez facilement en obligeant le constructeur à préciser chacun de ces propriétés. Mais il est assez facile de voir comment cela peut devenir une spirale hors de contrôle lorsque vous êtes forcé d'ajouter plus de champs nécessaires à l'objet Client.

J'ai vu des classes qui prennent en 20+ arguments en leur constructeur et c'est juste une douleur à utiliser. Mais, sinon, si vous n'avez pas besoin de ces champs, vous courez le risque d'avoir pas défini d'informations, ou pour le pire, le référencement d'un objet erreurs si vous comptez sur le code appelant à spécifier ces propriétés.

Existe-il des alternatives à cette ou pensez-vous que vous avez juste à décider si X montant des arguments du constructeur, c'est trop pour vous de vivre?

InformationsquelleAutor Kevin Pang | 2008-09-02