Цитата:
Сообщение от Pavia
Абстрагирование применяется для снижения числа IF при кодирование больших программ.
|
- Я использую низкоуровневую либоу и при этом, постоянно страдаю из-за гибких, но не удобных интерфейсов. Взял вместо этого библиотеку с удобными абстракциями. Можно ли сказать, что абстракции упростили мне жизнь?
- И да, мне постоянно приходилось писать
Код:
if (state == error156) {
//
}
if (state == ok) {
//
}
Взяв другую библиотеку (в общем случае вообще не объектно-ориентированную, а просто предоставляющую абстракции над всем этим) - я не должен писать if-ы. Но это значит, что я не забуду их написать (случайно) и программа не упадет. Повышает ли хорошая абстракция безопасность кода?
- "дублирование кода свидетельствует об упущенной возможности для абстракции" - это не я сказал, а Фаулер и он имел ввиду не только if-ы.
Модульность - это далеко не только ускорение сборки.
Инкапсуляция - это не только о потокобезопасности.
Вы выдергиваете какие-то частности. И это прямо противоположно "принципам".
Молоток создан чтобы забивать гвозди. Но вы бы, наверняка, добавили что его можно метать и т.п.