Chúng tôi đang viết một SDK cho một chương trình CAD và đã gặp một chút bất đồng về một loại chức năng cụ thể (không chỉ bất đồng giữa những người khác nhau, cũng không đồng ý giữa hai nửa não của tôi)..Net SDK vấn đề, có cách nào để đi?
Hãy tưởng tượng có rất nhiều lớp học cho các loại đường cong cụ thể (hình elip, hình tròn, cung, đường, bezier, v.v ...). Tất cả các lớp này có thể được biểu diễn bằng đường cong Nurbs. Vì vậy, chúng ta nên đặt Circle> function NURBS trên Circle:
public NurbsCurve Circle.ToNurbsCurve()
{
// Return a circular NurbsCurve or null if the Circle is invalid.
}
hoặc nó phải là một tĩnh trên NurbsCurve:
public static NurbsCurve NurbsCurve.CreateFromCircle(Circle)
{
// Return a circular NurbsCurve or null if the Circle is invalid.
}
Một tùy chọn sẽ là các phương pháp mở rộng. 'public static NurbsCurve ToNurbs (vòng tròn Circle này) {}' –
@ Chris, điều đó sẽ không thực sự có ý nghĩa ở đây ... nó là Circle biết làm thế nào nó nên được chuyển đổi thành một NurbsCurve, không phải là lớp NurbsCurve. Phương pháp mở rộng là một tính năng thú vị, nhưng nhiều người (bao gồm cả tôi) lạm dụng chúng –