Абасс... обсудите рахитекурту
Единственный вопрос - нафига разнесены?
Я уже 10 раз написал - функционал максимального значения у составного параметра точно такой же, как просто значения у простого параметра. Т.е. в составном простое значение используется как максимальное, и добавлено текущее значение.
Ребята, что с вами, это просто два жалких класса с парой куцых свойств на двоих же. Чего вы их так испугались?.. Ну хорошо, вам не нравится наследование. Тогда что? В нашем ООПешном загончике не так много вариантов для комбинирования - наследование, включение, пачка статических методов... Я что-то важное упустил?
Может, будем городить интерфейсы или фабрику фабрик? Два-то класса это слишком сложно, а вот инжекция фабрики на интерфейсах - это пахнет месяцем мозгового штурма, километров тестов, и всё это на сеньёрских зарплатах. ))