IDictionary | |
---|---|
S-type Автор Сообщений: 2969 Дата регистрации: 24.04.2004 |
Периодически натыкаюсь на код:
Вопрос - будет ли на практике какая то разница с
Может ли быть такой случай, что второй вариант вызовет проблемы? |
Re: IDictionary | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
По-моему это очевидно.
Вариант с интерфейсом позволяет менять реализацию (при необходимости) никак не затрагивая "клиентов" соответствующего класса (т.е. код этот самый dictionary использующий - особенно если он находится ВНЕ блока кода где создаётся экземпляр - т.е. это не локальная переменная, а поле класса). Существует далеко не только один единственный класс Dictionary<TKey, TValue> который данный интерфейс реализует, более того зачастую пишут и свои собственные классы, этот интерфейс реализующие - а твой код уже гвоздями прибит к Dictionary... Использование IDictionary - пример следования принципу ООП "зависимость от интерфейса/контракта а не от конкретной реализации". ------------------ WBR, Igor |
© 2000-2024 Fox Club  |