У меня есть канал с некоторыми свойствами и канал ChannelProxy, расширяющий канал. Этот ChannelProxy содержит исходные значения, чтобы можно было применять оптимистический параллелизм. Вы можете переключаться между проверкой отсутствия параллелизма и проверкой оптимистичного параллелизма.
Теперь я хочу реализовать LazyLoadedChannel, который может быть Channel или ChannelProxy. Расширение обоих невозможно. Какое хорошее решение для такой проблемы?
Я мог бы создать LazyLoadedChannel (расширение Channel) и LazyLoadedChannelProxy (расширение ChannelProxy), но это означает, что код будет дублироваться в обоих классах.