Тестовая задача

Тестовая задача
Попытайтесь решить следующую задачу в том смысле, в котором Вы ее понимаете.
Описание задачи
Существуют различные фигуры, например, квадрат, круг, шар. Все указанные фигуры
имеют некоторую меру. В качестве меры может выступать, например, площадь фигуры
или объем или площадь поверхности и другие. Фигуры можно объединять в группы.
Группы кроме фигур могут содержать другие группы. Группа фигур имеет меру, равную
применению оператора к коллекции фигур, входящих в группу. В качестве оператора
может выступать, например, оператор сложения, тогда мера группы есть сумма мер
фигур, входящих в группу или любой другой, который не зависит от порядка фигур в
группе.
Задания
1. Разработать объектную модель, соответствующую данному описанию и
позволяющую вычислять необходимую меру для произвольной группы.
2. Выделить объектную модель в отдельную библиотеку и написать
демонстрационные тесты.
3. Разработать сопроводительную документацию.
Комментарии
Если условие задачи кажется Вам слишком сложным, попробуйте упростить условие до
такой степени, когда сможете предложить решение.
Критерии оценки задачи
Решение будет оцениваться по следующим параметрам:
1. Соответствие предложенного решения описанию задачи и заданиям
2. Качество исходного кода
3. Расширяемость (каким образом можно расширять объектную модель без
изменения написанного кода)
4. Качество сопроводительной документации