Je me rends compte c'est plutôt une question ouverte et pourrait obtenir une variété de réponses, mais voilà.
À l'aide de C# (ou Java, ou de tout langage OO), est-il une règle générale selon laquelle les états du nombre de variables doit être passé dans le constructeur? Le nombre de variables, je suis de passage dans le constructeur de l'étendue des classes semblent sortir de la main.
Dans un effort pour encapsuler les données d'une classe, je déclare les membres du privé, les initialiser dans mon constructeur, et d'utiliser les accesseurs.
Voici un exemple:
public class A
{
private int var1;
private int var2;
private int var3;
//3 variables passed in
public A(int v1, int v2, int v3)
{
var1 = v1;
var2 = v2;
var3 = v3;
}
//Properties (accessors) here
}
public class B : A
{
private int var4;
private int var5;
//5 variables passed in
public B(int v1, int v2, int v3, int v4, int v5)
: base(v1,v2,v3)
{
var4 = v4;
var5 = v5;
}
//Properties (accessors) here
}
public class C : B
{
private int var6;
private int var7;
//7 variables passed in !!!
public C(int v1, int v2, int v3, int v4, int v5, int v6, int v7)
: base(v1,v2,v3,v4,v5)
{
var6 = v6;
var7 = v7;
}
//Properties (accessors) here
}
Ma constructeurs sont généralement en passant les différents objets, pas seulement les ints. J'ai commencé à questionner mon dessin quand j'ai commencé à passer dans les 7 variables au constructeur de la classe fille, mais j'ai aussi eu de la difficulté à trouver un autre moyen pour ce faire.
Est-ce considéré comme une mauvaise pratique? Est-il une limite générale pour le nombre de variables que vous devriez passer à un constructeur?