Показать сообщение отдельно
Старый 03.10.2019, 12:35   #6
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

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

Модульность - это далеко не только ускорение сборки.

Инкапсуляция - это не только о потокобезопасности.

Вы выдергиваете какие-то частности. И это прямо противоположно "принципам".

Молоток создан чтобы забивать гвозди. Но вы бы, наверняка, добавили что его можно метать и т.п.
rrrFer вне форума Ответить с цитированием