1. Общие требования к классам (декомпозиция, модульная композиция, модульная понятность, модульная непрерывность, модульная защищённость).
2. Простая и незамысловатая реализация программы вычисления медиан.
3. Реализация с одним большим классом.
4. Принцип одной зоны ответственности (Single Responsibility Principle, SRP).
5. Разнесение зон ответственности через структуры данных. Функциональный подход.
6. Разделение вычисления медиан на классы Parser и MediansMedian.
7. Альтернативное разделение на классы: Parser, ParserClient и MediansMedian. «Активные» и «пассивные» классы.