У меня етсть сервис TreeService, который управляет деревом. В нем есть метод инициализации дерева. В котором вызывается обход дерева и выборки определенных значений по заданной логике. Затем вызывается метод отрисовки.
Проблема в том, что я хочу переиспользовать сервис, при этом не использовать часть функционала, например во входной точке не вызывать указанные выще методы, а выполнить свою логику.
При этом текущий сервис содержит общие методы для любого дерева, отметить лист, раскрыть, закрыть дерево и тд.
Как с этим быть в Ангуляре?
В голову приходить создать абстрактный класс-сервис:
class abstract TreeCommon {
// Common methods and abstract methods for overwriing.
}
Затем уже создавать отдельные сервисы со своим фунционалом:
class TreeMap extends TreeCommon {
}
class TreeLayer extends TreeCommon {
}
Второй вариант сразу унаследоваться от текущей реализации сервиса, что не очень хорошо, потому как половину функицонала мне не нужно. Только основной по работе с деревом.