Значение объекта или нет для 3d очков? - PullRequest
0 голосов
/ 16 марта 2010

Мне нужно разработать геометрическую библиотеку на python, описывающую точки, линии и плоскости в трехмерном пространстве, а также различные геометрические операции. В связи с моим предыдущим вопросом .

Основная проблема в дизайне заключается в том, должны ли эти объекты иметь идентичность или нет.Мне было интересно, есть ли подобная библиотека (разработанная на другом языке), из которой можно черпать вдохновение, каков выбранный дизайн и, в частности, причина выбора одного варианта против другого.

1 Ответ

1 голос
/ 17 марта 2010

Я не знаком с другими библиотеками, но кажется, что 3d-точки должны быть (неизменяемыми) объектами-значениями.- позволяет разделять точку между несколькими контейнерами (линиями, плоскостями и т. д.) - избегает защитных геттеров и сеттеров - в реальной жизни трехмерная точка не имеет идентичности.

Кроме того, Джош Блох говорит (см. http://www.infoq.com/presentations/effective-api-design), что одной из ошибок, которые они допустили при разработке стандартной библиотеки Java, было то, что они не определили класс Size как неизменный.

...