开发者

Value object or not for 3d points?

I need to develop a geometry library in python, describing points, lines and planes in 3d sp开发者_Go百科ace, and various geometry operations. Related to my previous question.

The main issue in the design is if these entities should have identity or not. I was wondering if there's a similar library out there (developed in another language) to take inspiration from, what is the chosen design, and in particular the reason for one choice vs. the other.


I am not familiar with other libraries, but it seems that there 3d points should be (immutable) value objects. - allows sharing of a point between several containers (lines, planes, etc.) - Avoids defensive getters and setters - In real-life a 3d point has no identity.

Also, Josh Bloch is saying (see http://www.infoq.com/presentations/effective-api-design ) that one of the mistakes they did in the design of Java's standard library was that they did not define the Size class as immutable.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜