Re[4]: Зачем нужны интерфейсы?
От: Владислав Россия  
Дата: 22.08.07 18:59
Оценка:
Здравствуйте, kisel, Вы писали:

K>Здравствуйте, Владислав, Вы писали:


В>>Здравствуйте, kisel, Вы писали:



K>>>Самый весомый а может быть и единственный плюс от интерфейсов — с их помощью можно реализовать множественное наследования ... иначе их можно было бы и не использовать а обойтись только классами ....


В>>Вы так аргументированно и умнО все объяснили... Наверное книшку прочитали?

K>Иронизируешь?
K>Высказал свою точку зрения, аргументировать и т.п. нет времени ... Можно пойти от противного ...
K>Приведите ситуацию, где обязательным является использование интерфейса, при условии что не реализуется множественное наследование ...
K>Я сходу не вижу такой ситуации ... Вот Вам и своего рода аргумент ...

А я пока чай заварится смогу Вам кучу ситуаций набросать.

Три принципа OOD в основе своей подразумевают контракты (интерфейсы)
1) Gooogle -> 'Dependency Inversion Principle' -> обратите внимание на статью с обжектментор
2) AndrewVK c небольшой помощью Gamma et al. упоминал чуть раньше в этой нитке 'при соблюдении LSP, алгоритм, умеющий работать с базовым контрактом, умеет работать и с любым классом, этот базовый контракт реализующим' Чтоб надежно енфорсить LSP (Google -> Liskov Substitution) лучше скрывать все реализации контракта (интерфейса)
3) Open/Close Principle. Open часть предполагает публичный интерфейс
4) Google -> TDD Mock object
5) Чай готов...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.