Nous rédigeons un SDK pour un programme de CAO et nous avons rencontré un léger désaccord concernant un type spécifique de fonction (pas seulement un désaccord entre différentes personnes, mais aussi un désaccord entre mes deux moitiés de cerveau). Imaginez qu'il y ait beaucoup de classes pour des types de courbes spécifiques (ellipse, cercle, arc, ligne, bezier etc.). Toutes ces classes peuvent être représentées par une courbe de Nurbs. Alors, devrions-nous mettre la fonction dans les zones circulaires> NURBS Circle:. Problème SDK Net, quelle voie à suivre?
public NurbsCurve Circle.ToNurbsCurve()
{
// Return a circular NurbsCurve or null if the Circle is invalid.
}
ou doit-il être statique sur NurbsCurve:
public static NurbsCurve NurbsCurve.CreateFromCircle(Circle)
{
// Return a circular NurbsCurve or null if the Circle is invalid.
}
Une option serait les méthodes d'extension. 'public NurbsCurve ToNurbs statique (ce cercle cercle) {}' –
@Chris, cela n'aurait pas vraiment de sens ici ... c'est le cercle qui sait comment il devrait être convertisseur à un NurbsCurve, pas la classe NurbsCurve. Les méthodes d'extension sont une fonctionnalité intéressante, mais beaucoup de gens (y compris moi) abusent d'eux –