Интерфейсы
Концепция интерфейсов — одна из основных в современном программировании. Большие
системы неизбежно разделяются на части, и существенным становится вопрос о взаимодействии
этих частей друг с другом. Правила такого взаимодействия должны быть строго
определены и постоянны, так как их изменение может повлиять на несколько частей
системы. Однако сама реализация взаимодействия может быть изменена и это не
потребует изменения кода других частей системы. В Visual C++ .NET ключевое слово
_interface (интерфейс) имеет четко определенное значение. Управляемый (managed)
интерфейс — ссылочный тип данных, подобный абстрактному классу, задающий поведение
с помощью набора методов с определенными сигнатурами. Интерфейс — это просто
контракт. Когда класс реализует интерфейс, он, таким образом, должен придерживаться
контракта.
Использование интерфейсов — удобный способ разделения функциональных возможностей.
Сначала определяются интерфейсы, а затем разрабатываются классы, реализующие
эти интерфейсы. Методы класса могут быть сгруппированы в разных интерфейсах.
Хотя в управляемом C++ класс является непосредственным потомком только одного
базового класса, он может реализовывать несколько интерфейсов.
Использование интерфейсов помогает в создании динамических, гибких и легко изменяемых программ. CLR и BCL (Base Class Library— библиотека базовых классов) обеспечивают удобную возможность во время выполнения программы послать классу запрос для определения, реализует ли он некоторый интерфейс. Интерфейсы в .NET концептуально очень похожи на интерфейсы в модели компонентных объектов Microsoft (СОМ), но работать с ними намного легче.
Далее мы подробно изучим преимущества и использование интерфейсов. Затем мы рассмотрим несколько важных родовых интерфейсов библиотеки .NET, что поможет нам понять, каким образом управляемый C++ и .NET могут использовать друг друга для того, чтобы способствовать разработчикам в создании мощных и полезных программ.
Содержание раздела