Estamos escribiendo un SDK para un programa de CAD y hemos tenido un ligero desacuerdo con respecto a un tipo específico de función (no solo desacuerdo entre diferentes personas, también desacuerdo entre mis dos mitades cerebrales)..Net SDK problema, ¿qué camino tomar?
Imagine que hay muchas clases para tipos específicos de curvas (elipse, círculo, arco, línea, bezier, etc.). Todas estas clases se pueden representar mediante una curva de Nurbs. Así que deberíamos ponemos la Circle-> función Nurbs en Círculo:
public NurbsCurve Circle.ToNurbsCurve()
{
// Return a circular NurbsCurve or null if the Circle is invalid.
}
o debe ser una estática en NurbsCurve:
public static NurbsCurve NurbsCurve.CreateFromCircle(Circle)
{
// Return a circular NurbsCurve or null if the Circle is invalid.
}
Una opción serían los métodos de extensión. 'NurbsCurve ToNurbs estático público (este círculo Círculo) {}' –
@Chris, eso realmente no tendría sentido aquí ... es el Círculo que sabe cómo debería convertirse en NurbsCurve, no en la clase NurbsCurve. Los métodos de extensión son una característica interesante, pero mucha gente (incluyéndome a mí) los usa en exceso –