Это зависит от того, что будет делать parseXML()
.
Случай 1: Если все методы parseXML()
собираются сделать то же самое, тогда у вас должен быть другойкласс, который имеет один parseXML()
метод.Зачем?Это позволяет избежать ненужного повторения, упрощает обновление и легко расширяется.
Случай 2: Если все методы parseXML()
будут отличаться (в основном, не только нескольколинии), было бы проще реализовать метод в каждом классе.Зачем?Попытка объединить много разных методов в один сложна и уродлива.
Случай 3: Создать суперкласс из CatalogManager
и CourseManager
, который имеет метод parseXML()
.Затем, если подкласс должен сделать что-то другое с помощью этого метода, он может просто переопределить его.
Какой из них следует использовать? Окончательное решение является наиболее предпочтительным, поскольку оно сохраняет ваш кодпростой, расширяемый, читаемый и обновляемый, объединяющий лучшее из первых двух подходов.Но если строго применяется один из первых двух случаев, то вместо этого следует использовать их.
Ваша структура класса будет такой:
Manager // the super class, this implements parseXML().
CatalogManager // a sub class, overriding parseXML() only if it needs to.
CourseManager // same as above.
XMLUtil // this class is only necessary in case 1.
Это ваше решение в конце.Ни один случай не будет быстрее, чем любой другой, просто выберите тот, который вам нужен.