我们正在为一个cad程序编写一个sdk,在一个特定类型的函数方面遇到了一些小的分歧(不仅仅是不同的人之间的分歧,还有我的两个大脑部分之间的分歧)。
假设有很多类用于特定的曲线类型(椭圆、圆、圆弧、直线、贝塞尔等)。所有这些类都可以用nurbs曲线表示。所以我们应该把circle->nurbs函数放在circle上:
public NurbsCurve Circle.ToNurbsCurve()
{
// Return a circular NurbsCurve or null if the Circle is invalid.
}
或者应该是nurbcurve上的静态:
public static NurbsCurve NurbsCurve.CreateFromCircle(Circle)
{
// Return a circular NurbsCurve or null if the Circle is invalid.
}
最佳答案
我想我会选择第一个(例如,在shape类上,甚至可以使用一个公共基类或类似于IConvertibleToNurbsCurve
的接口),因为这使得以后添加其他也可以转换为NurbsCurve
的形状更加容易。NurbsCurve
似乎不太专业,因此不应该“知道”imho中更专业的类型。