Geometry 是否为三维点设置对象值?

Geometry 是否为三维点设置对象值?,geometry,value-objects,Geometry,Value Objects,我需要用python开发一个几何体库,描述3d空间中的点、线和平面,以及各种几何体操作 设计中的主要问题是这些实体是否应该具有标识。我想知道是否有类似的库(用另一种语言开发)可以从中获得灵感,选择的设计是什么,特别是选择一种与另一种的原因。我不熟悉其他库,但似乎3d点应该是(不变的)值对象。 -允许在多个容器(直线、平面等)之间共享一个点 -避免防守型的接球手和二传手 -在现实生活中,三维点没有标识 另外,Josh Bloch说(参见 )他们在设计Java标准库时犯的错误之一是没有将Size类定

我需要用python开发一个几何体库,描述3d空间中的点、线和平面,以及各种几何体操作


设计中的主要问题是这些实体是否应该具有标识。我想知道是否有类似的库(用另一种语言开发)可以从中获得灵感,选择的设计是什么,特别是选择一种与另一种的原因。

我不熟悉其他库,但似乎3d点应该是(不变的)值对象。 -允许在多个容器(直线、平面等)之间共享一个点 -避免防守型的接球手和二传手 -在现实生活中,三维点没有标识

另外,Josh Bloch说(参见 )他们在设计Java标准库时犯的错误之一是没有将Size类定义为不可变