Архифлеймер
Зарегистрирован: 04 October 2005
Сообщения: 3067
Примеры кода: 0
|
Re: [dev] octalforty Waffle -- форум |
21 February 2008 17:49 |
|
|
|
|
Исходную иерархию менять нельзя. К тому же, там не все так просто -- посетитель не спас бы.
Я говорю что использование такого рода подхода (несколько интерфейсов) гразит вот этими проблемами.
Короче, я имел ввиду что изначальная архитектура и использованием таких интерфейсов - не совершенна
Из-за этого и приходится подставлять костыли as и is
Он на то и ...Base, что работает только с базовыми интерфейсами (в ReferenceItem определены только 4 свойства). Вся дополнительная логика по конвертации каких-то экзотических объектов выносится в производные классы, а они уже соединяются в Chain of Responsibility.
Вот он костыль:
Что бы не создавать доп. иерахию относительно нескольких интерфейсов Вы используете dynamic cast
Но потом все равно продолжаете создавать иерархию.
В то время как обычный визитор мог бы без труда и выполнять конвертацию и выполнять работу с RSS
----------------------------------------
Knowledge is P...O...w...E...R!
My site
Данное сообщение получено с сайта GotDotNet.RU
|
|