DesignPatternsBook icon indicating copy to clipboard operation
DesignPatternsBook copied to clipboard

[Part2, Ch1] Coupling & Cohesion

Open Berezovskiy opened this issue 11 years ago • 3 comments

Помимо формальных критериев, есть универсальные понятия хорошего дизайна – слабая >связанность (low coupling) и сильная связность (high cohesion). Данные свойства полезны, но >слишком неформальны.

Я не думаю, что эти понятия неформальны. Они были унаследованы ООП от парадигмы Структурного программирования, где они довольно хорошо определены и измерены. Однако чтобы следовать этим принципам, вы должны рассчитать показатели и сравнить их с некоторыми пороговыми значениями, чтобы чтобы оценить их. В название самих понятий включена их некая количественная оценка high/low. Помимо этого, они не подходят идеально для мира ООП, вероятно поэтому и появились SOLID принципы.

Berezovskiy avatar Oct 23 '14 16:10 Berezovskiy

Саня, я имел ввиду следующее: ты можешь четко сказать, сколько именно low coupling тебе нужно? И насколько high cohesive твой код должен быть, после чего он станет хорошим? На самом деле, coupling & cohesion меряются. Да, фраза "Данные свойства полезны, но слишком неформальны", видимо, нужно изменить.

SergeyTeplyakov avatar Oct 23 '14 18:10 SergeyTeplyakov

Так, я так понял, что мы говорим об одном и том же :) Теперь нужно подумать, как изменить последнее предложение.

Berezovskiy avatar Oct 23 '14 19:10 Berezovskiy

Ok. Я сюда потом запосчу предложения по изменениям.

SergeyTeplyakov avatar Oct 23 '14 20:10 SergeyTeplyakov