Disons que nous avons une classe avec seulement 1 fonction, par exemple: calculer DFS. Laquelle des approches suivantes est préférée et pourquoi?Meilleures pratiques constructeurs
Approach 1:
public class DFS {
public DFS(Graph g) {
dfs(g); // <--- computation invoked from constructor.
}
private void DFS(Graph g) {
// do dfs traversal
}
}
Client:
DFS dfs = new DFS(graph);
Approach 2:
public class DFS {
Graph g;
public DFS(Graph g) {
this.g = g
}
private void doDFS() {
// do dfs traversal
}
}
Client:
DFS dfs = new DFS(graph);
dfs.doDFS();
Comment un résultat va-t-il être transmis à l'appelant? Est-ce que la traversée a des effets secondaires? – Thilo