.Net SDK问题,哪种方式去?

Dav*_*ten 5 .net c# sdk

我们正在写一个SDK用于CAD程序,并针对特定类型的功能(不是不同的人之间的分歧只是,我的两个脑半之间也不一致)碰上轻微的分歧.

想象一下,特定曲线类型(椭圆形,圆形,弧形,直线,贝塞尔曲线等)有很多类.所有这些类都可以用Nurbs曲线表示.那么我们应该将Circle-> Nurbs函数放在Circle上:

public NurbsCurve Circle.ToNurbsCurve()
{
  // Return a circular NurbsCurve or null if the Circle is invalid.
}
Run Code Online (Sandbox Code Playgroud)

或者它应该是NurbsCurve上的静态:

public static NurbsCurve NurbsCurve.CreateFromCircle(Circle)
{
  // Return a circular NurbsCurve or null if the Circle is invalid.
}
Run Code Online (Sandbox Code Playgroud)

Luc*_*ero 4

我想我会选择第一个(例如,在形状类上,甚至可能使用公共基类或接口,如IConvertibleToNurbsCurve),因为如果您稍后添加其他也可转换为NurbsCurve.

似乎NurbsCurve不太专业,因此不应该“了解”更专业的类型恕我直言。