вторник, 20 мая 2014 г.

Ссылка. Ещё от Теплякова

https://plus.google.com/+SergeyTeplyakov/posts/jHy5AMQGgCs

"Очень часто наличие интерфейсов объясняется не только желанием протестировать класс в изоляции, но и попыткой дать возможность заменить компонент без перекомпиляции приложения. Этот момент очень классно прокритиковал Кент и Дэвид: попытка заменить слой доступа к данным и заменить базу данных веб-сервисом, или in-memory DB на практике невозможна, поскольку каждая из этих реализаций обеспечивает слишком разные характеристики с точки зрения надежности или времени исполнения. На практике даже переход от одной реляционной СУБД на другую оказывается сложным или невозможным, не говоря уже о таких принципиальных сменах «деталей реализации»."

"Все мы знаем, что лепить все в один метод – это плохо. Код получится плохо читаемым, плохо сопровождаемым и совершенно не тестируемым. Но мы знаем, что сейчас легко столкнуться с обратной проблемой, когда даже для мелкой задачи выделяется огромное число классов, в результате чего даже тесно-связанная информация расползается по разным классам или модулям."

Комментариев нет:

Отправить комментарий