Я создаю клиент RSS и использую инфраструктуру Argotic. Он предоставляет разные классы для разных типов каналов, таких как Atom, RSS и OPML. Эти классы не наследуются от какого-либо другого класса и не реализуют общий интерфейс для доступа к своим свойствам.
Существует тип GenericSyndicationFeed
, который реализует перегруженный метод, в котором вы можете передать AtomFeed
или RssFeed
. Если я хочу использовать «более» строго типизированные классы, мне по существу понадобятся два пути кода (один для Atom и один для RSS) везде в моей программе. Очевидно, я не собираюсь этого делать.
У автора нет документации, кроме документации API, поэтому я немного не понимаю, почему это было реализовано таким образом, вместо того, чтобы в полной мере использовать полные классы. Меня беспокоит то, что я не могу получить авторов элемента при использовании типа GenericSyndicationItem
.
Что я могу здесь сделать? Сделать класс-оболочку? Или наследовать от классов RssFeed
и AtomFeed
и реализовать интерфейс для предоставления свойств, которые, по моему мнению, должны быть похожими на оба?