Совершенный код(Cтив Макконнелл).Вопросы по книге.

Шелест

Новичок
Добрый вечер,господа.
В процессе изучения этого шикарного произведения, возникли(возникают и будут возникать) ) некоторые вопросы,на которые не могу найти ответы,либо предположения которые хотелось бы подтвердить/опровергнуть.Ну и просто интересно послушать Ваше,авторитетное (для меня) мнение.
Подобной ветки не нашел,поэтому буду писать сюда (если она(ветка) все таки есть,модераторы перенесите,пожалуйста).Осторожно много букв.

Вопросы:
Глава 5 Проектирование при конструировании.
Желательные характеристики проекта.(стр.78)

#1:

Стратификация
Под стратификацией понимают разделение уровней декомпозиции, позволяющее изучить систему на любом отдельном уровне и получить при этом согласованное представление. Проектируйте систему так, чтобы ее можно было изучать на отдельных уровнях, игнорируя другие уровни. Например, если вы создаете современную систему, которая должна использовать большой объем старого, плохо спроектированного кода, напишите уровень, отвечающий за взаимодействие со старым кодом. Спроектируйте этот уровень так, чтобы он скрывал плохое качество старого кода, предоставляя более новым уровням согласованный набор сервисов........

Я правильно понял что нужно писать свой класс-обертку,и куски "старого" кода запихать в методы этого класса?

#2
Высокий коэффициент объединения по входу
При высоком коэффициенте объединения по входу (fan-in) к конкретному классу обращается большое число других классов.....

Низкий или средний коэффициент разветвления по выходу (fan-out)
Это означает, что конкретный класс обращается к малому или среднему числу других классов.....

Не совсем понял как это возможно.Если каждый класс должен обращаться к малому количеству других классов,но в тоже время,к каждому классу должно обращаться множество других.Объясните,пожалуйста или дайте линк,где посмотреть.

Благодарен за уделенное время.
 
Последнее редактирование:

AnrDaemon

Продвинутый новичок
Я правильно понял что нужно писать свой класс-обертку,и куски "старого" кода запихать в методы этого класса?
А если старый код представлен удалённым сервисом, ты тоже будешь его резать на куски и распихивать?
Не надо подходить к программированию с прокрустовыми мерками.
Головой думать надо в каждом отдельном случае. Кроме того, головой надо думать постоянно.
 

Шелест

Новичок
А если старый код представлен удалённым сервисом, ты тоже будешь его резать на куски и распихивать?
Не надо подходить к программированию с прокрустовыми мерками.
Головой думать надо в каждом отдельном случае. Кроме того, головой надо думать постоянно.
Cпасибо.Буду стараться)
 

Вурдалак

Продвинутый новичок
Я правильно понял что нужно писать свой класс-обертку,и куски "старого" кода запихать в методы этого класса?
Твоя формулировка звучит немного странно, но имеется в виду обычная обёртка, да. Это ещё называется anti-corruption layer.

Не совсем понял как это возможно.Если каждый класс должен обращаться к малому количеству других классов,но в тоже время,к каждому классу должно обращаться множество других.Объясните,пожалуйста или дайте линк,где посмотреть.
Эту терминологию я, честно говоря, раньше не слышал, под low fan-out скорее всего имеется в виду, что класс не должен иметь много зависимостей (в конструкторе, например). Под high fan-in возможно имеется в виду высокая реюзабельность класса.
 
Сверху