Size: a a a

Software Design/Architecture/Zen

2021 March 13

SP

Sergey Protko in Software Design/Architecture/Zen
Евгений Ромашкан
Ну часто каплинг/кохижн противопоставляют как плохое/хорошее
Нет, не противопоставляют
источник

SP

Sergey Protko in Software Design/Architecture/Zen
В том же grasp тебе говорят что кохижен должен быть высокий а каплинг низкий. Ты не можешь их противопоставлять
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Это две разные характеристики применимые к модулям которые должны уравновешивать друг друга
источник

ЕР

Евгений Ромашкан... in Software Design/Architecture/Zen
Sergey Protko
Вот интересно как ты к этому приходишь, скорее всего тут будет ответ на вопрос где ты чёт напутал
Ну потому что "плохие" виды кохижена повышают каплинг
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Каплинг это по сути про вероятность что потрогав зависимость y ты сломаешь зависимый от него x.

Низкий каплинг - низкая вероятность. Или низкие риски.
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Евгений Ромашкан
Ну потому что "плохие" виды кохижена повышают каплинг
Да но ты можешь сделать высокий каплинг + высокий кохижен.
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Sergey Protko
Каплинг это по сути про вероятность что потрогав зависимость y ты сломаешь зависимый от него x.

Низкий каплинг - низкая вероятность. Или низкие риски.
Виды каплинга по сути про то а что именно между модулями может поменяться
источник

ЕР

Евгений Ромашкан... in Software Design/Architecture/Zen
Sergey Protko
Да но ты можешь сделать высокий каплинг + высокий кохижен.
Только если случайный кохижн считать кохиженом кмк
источник

ЕР

Евгений Ромашкан... in Software Design/Architecture/Zen
На счёт логического не уверен, наверное я сам @GDXbsv запутал, по мне логически объединённые штуки должны быть чем-то универсальным что можно реюзать, иначе получается случайный кохижен
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Евгений Ромашкан
Только если случайный кохижн считать кохиженом кмк
Я повторюсь. Кохижен внутри а каплинг между. Твоя проблема видимо что ты пытаешься это как-то сароецировать на одном уровне
источник

К

Карательный отряд... in Software Design/Architecture/Zen
Евгений Ромашкан
На счёт логического не уверен, наверное я сам @GDXbsv запутал, по мне логически объединённые штуки должны быть чем-то универсальным что можно реюзать, иначе получается случайный кохижен
источник

ЕР

Евгений Ромашкан... in Software Design/Architecture/Zen
Sergey Protko
Я повторюсь. Кохижен внутри а каплинг между. Твоя проблема видимо что ты пытаешься это как-то сароецировать на одном уровне
Ну если мы логику работы с юзером всю запихнём в класс юзера, она будет объединена просто тем что она в одном классе
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Евгений Ромашкан
На счёт логического не уверен, наверное я сам @GDXbsv запутал, по мне логически объединённые штуки должны быть чем-то универсальным что можно реюзать, иначе получается случайный кохижен
Не, логический кохижен это чуть лучше случайного. Там ещё между ним и функциональным штуки три других видов
источник

ЕР

Евгений Ромашкан... in Software Design/Architecture/Zen
Она вряд ли друг от друга по факту будет зависеть
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Евгений Ромашкан
Она вряд ли друг от друга по факту будет зависеть
Зато весь остальной код будет зависеть от юзера и ты получишь год обджект
источник

ЕР

Евгений Ромашкан... in Software Design/Architecture/Zen
Sergey Protko
Зато весь остальной код будет зависеть от юзера и ты получишь год обджект
Да, и это про высокий каплинг
источник

ЕР

Евгений Ромашкан... in Software Design/Architecture/Zen
Если считать User модулем то получится что внутри него куча несвязного(low cohesion) функционала, зато много других модулей зависимых от User
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Евгений Ромашкан
Если считать User модулем то получится что внутри него куча несвязного(low cohesion) функционала, зато много других модулей зависимых от User
Да, а теперь попробуй придумать вариант при котором у тебя более высокий уровень кохижена но все так же высокая связанность
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Или другой пример - внутри модуля utils у нас низкий каплинг и сам модуль обладает низким кохиженом.
источник

ЕР

Евгений Ромашкан... in Software Design/Architecture/Zen
Хм. Я подумал что какая-нибудь огромная процедура, но нет, там получается модульности нету просто
источник