Интерфейсы .NET - PullRequest
       33

Интерфейсы .NET

0 голосов
/ 11 августа 2008

За последние несколько лет я перешел с длинной страницы элементов управления, которую я спрятал / показывал, к использованию множества пользовательских элементов управления. У меня всегда была небольшая дискуссия между коллегами по лучшим практикам.

Если у вас есть свойства, которые вы заполняете, или используете параметризованные сабвуферы для загрузки информации в ваши элементы управления?

Часть моего страха перед использованием paramteter'а заключается в том, что я не могу гарантировать, что все будет заполнено.

Каковы основные правила использования интерфейсов? Я никогда не создавал один. И я должен попробовать это или остаться с 'sub load' ?

1 Ответ

1 голос
/ 11 августа 2008

Я не уверен, что интерфейсы помогут вам здесь. Насколько я понимаю, вы разбиваете страницу на набор «составных» пользовательских элементов управления, которые содержат другие элементы управления, и вы хотите решить, использовать ли свойства для установки значений.

Я полагаю, что это действительно зависит от того, как разработаны пользовательские элементы управления и добавляются ли они динамически на страницу и т. Д. (Один из возможных сценариев) У меня есть личные предпочтения для указания вещи в конструкторе или использования фабричного метода для создания элементов управления. Я беру на себя ответственность за создание, чтобы убедиться, что все установлено. Мой опыт работы со свойствами заключается в том, что я иногда забываю что-то установить и не осознаю свою ошибку. Ваша точка зрения по поводу настройки свойств или использования подпрограммы и всего, что заполняется, не имеет большого смысла для меня. Если у вас есть какая-то зависимость и вам нужно загрузить что-то еще, это может произойти независимо от того, является ли это свойство или подчиненное.

Я бы обратился к любой книге на VB.NET/C#/OOP, чтобы увидеть синтаксис для интерфейсов. Интерфейсы в основном описывают контракт для класса. Если у вас есть классы A и B, и оба реализуют интерфейс, называемый ITime, тогда оба предоставят все методы, определенные в ITime. Они по-прежнему могут добавлять свои собственные методы, но они должны как минимум включать реализацию методов ITime (например, у нас могут быть GetDate (), GetCurrentTime () в качестве методов в ITime). Интерфейс не сообщает классу A или B, как эти методы должны работать - только их имя, параметры и тип возвращаемого значения. Поиск наследования в книге ООП для получения дополнительной информации о том, как наследование интерфейсов отличается от наследования реализации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...