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

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

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

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

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

11.08.2008 18:30:44
1 ОТВЕТ
РЕШЕНИЕ

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

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

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

1
11.08.2008 18:50:28