Реализация интерфейса: муки выбора.

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Реализация интерфейса: муки выбора.

Сообщение Viper » 08.08.2006 (Вт) 9:11

Имеется собственноручно определенный интерфейс. Имеется около десяти структур его реализующих. И реализация интерфейса в двух из них различается всего-лишь парой строк. И возникла проблема выбора как мие реализовать.

1. Тупо скопировать код первой структуры и поменять нужные строчки.
2. Сделать первую структуру членом второй и реализовывать элементы интерфейса путем вызова методов первой структуры:
Код: Выделить всё
Structure Second
    Public m_First As First
    ' ...
    Public Sub Method1() Implements IMyInterface.Method1
        m_First.Method1()
    End Sub
    ' ...
End Structure

3. Вместо структур использовать классы и унаследовать второй класс от первого, переопределив соответствующий метод.
4. Оставить только одну структуру, но ввести дополнительный член, указывающий на способ реализации.

Склоняюсь к выбору четвертого варианта, но как-то смущает некоторая громоздкость реализации. Одним словом принимаются советы по выбору лучшего способа реализации.
Весь мир матрица, а мы в нем потоки байтов!

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 08.08.2006 (Вт) 9:37

Склоняюсь к третьему.
Изображение

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 08.08.2006 (Вт) 13:03

Если там действительно ПАРА строк и расширение функциональности не планируется, то разумеется 4 вариант.
Иначе, вариант 3.
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 08.08.2006 (Вт) 14:44

После более тщательного анализа убедился, что действительно вариант 4 в данной ситуации является самым оптимальным.
Весь мир матрица, а мы в нем потоки байтов!

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 16.08.2006 (Ср) 21:55

Сделать базовый интерфейс, а два первых унаследовать от него....
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 109

    TopList