Еще более феерическое продолжение вчерашней темы. Тот же tonsky в комментариях к своей заметке:
Вот привычка прятать детали реализации и вообще автору решать, что детали, а что нет, приводит к некомпозируемому софту. Автор, какой бы он умный ни был, никогда не угадает, для чего и как его код будет использоваться. Соответственно любое решение что-либо спрятать заранее неверно. Писать с невозможностью добраться до внутренностей и заменить их для себя означает сильно ограничивать область применимости софта: либо мы его используем только так как смог придумать автор, либо он для нас бесполезен.
Предположим, что автор не стебется и говорит то, что думает. Кто-нибудь может привести примеры прикладной ниши, где это реально так?
Upd. Специально для тех, кто думает, что ООП -- это просто инкапсуляция, наследование и полиморфизм, а посему отстой: Open/Closed Principle (в Wiki) (+ описание этого же принципа на русском языке в блоге Сергея Теплякова).
Комментариев нет:
Отправить комментарий