Я работаю над приложением в качестве хобби-проекта. Он написан на Java и является частью системы для расчета схемы декомпрессии для подводного плавания.
У меня проблема в классе, в котором хранится мой план погружения, но это не проблема, так как он работает нормально, но у меня сложилось впечатление, что он может быть разработан лучше, поэтому я хотел бы попросить некоторую обратную связь.
Теперь я получил следующее.
Класс DivePlan
, который имеет ArrayList of DiveOpperations (ArrayList<DiveOpperation>
).
Класс DivePlan
имеет 3 функции. Один для планирования спуска, один для планирования восхождения и один для планирования плоского погружения на той же глубине. Все эти функции добавляют объект DiveOpperation
в ArrayList. Однако подъемы и спуски имеют некоторые другие атрибуты, такие как погружение, которое остается на той же глубине. Например скорость в м / с подъема / спуска. Я установил скорость 0 для плоских погружений, но это не так. Я знаю, что должен создавать отдельные классы, расширяющие DiveOpperation
, но таким образом я не знаю, является ли это классом ascent
, descent
или flatdive
, когда я получаю его из массива.
Каким будет хороший дизайн для такой функциональности?