Я работаю на Java
Я создал красивую структуру декораторов для краев графа.У меня есть базовый край с двумя вершинами, затем у меня есть взвешенный декоратор, который добавляет вес к краю, и затем у меня есть ориентированный декоратор, который добавляет ориентацию к краю.Декораторы реализованы с использованием интерфейсов и методов делегирования (не по наследству).
Теперь я хотел бы добавить еще один декоратор - декоратор потока, соответствующий краю потока.Края потока имеют как направление, так и вес (производительность), а также поток.Как мне реализовать что-то подобное в Java?Мне нужно что-то вроде
public class FlowEdge implements IEdge, IWeightedEdge, IOrientedEdge, IFlowEdge
{
private IEdge, IWeightedEdge, IOrientedEdge decorated;
private int flow;
//constructors, delegate methods...
, но это, очевидно, невозможно.
Возможно, декоратор - не лучший шаблон для использования.Я хотел бы добиться разделения интересов (чтобы я мог иметь любую комбинацию нормальных, взвешенных, ориентированных ребер), но мне также нужна функциональность, возможно, нескольких декораторов в одном классе.Это как-то возможно?Или я переусердствовал в этом?