powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Связанность классов, что это?
21 сообщений из 21, страница 1 из 1
Связанность классов, что это?
    #40001295
da17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все никак не пойму, как это выглядит на примере (связанность, зацепление) конкретных классов и какие преимущества дает слабая связанность классов? Погуглив нашел отсылки только к одной книге и все. Скиньте пожалуйста ссылки на то где это как-нибудь более детально на примерах показано.
...
Рейтинг: 0 / 0
Связанность классов, что это?
    #40001315
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
//Класс от которого зависят
public class Bar : IBar
{

}

//Зависимые классы
//Пример сильной зависимости
public class Foo
{
    private readonly Bar _bar;
    public Foo()
    {
        _bar = new Bar();
    }
}

//Пример слабой зависимости
public class Foo
{
    private readonly IBar _bar;
    public Foo(IBar bar)
    {
        _bar = bar;
    }
}


как видно из примера, первый класс сам создает экземпляр класса Bar, класс Foo должен знать этот класс и иметь к нему доступ. Он напрямую от него зависит. Это сильное связывание
А во втором классе Foo, он ничего о классе Bar не знает, он просто запрашивает некий интерфейс, но о том, как и где он реализован, он ничего не знает. Это слабая зависимость.
В любой момент, ты можешь изменить реализацию класса Bar, при этом, переделывать класс Foo будет не нужно.
...
Рейтинг: 0 / 0
Связанность классов, что это?
    #40001337
da17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtes,
а если мы вот так сделаем
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
class Foo {

private mBar;

Foo() {}
    void setBar(Bar bar_) {
        mBar = bar_;
    }
}


мы уменьшим связность или увеличим?

И что касается второго примера, какие конкретно мы выгоды от этого получаем?
...
Рейтинг: 0 / 0
Связанность классов, что это?
    #40001432
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
da17,

связанность и связность - это разные вещи: Low Coupling и High Cohesion .
...
Рейтинг: 0 / 0
Связанность классов, что это?
    #40001462
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA
da17,

связанность и связность - это разные вещи: Low Coupling и High Cohesion .
странный текст, начал за здравие продолжил в стиле "хайтак", я первый встал мои и тапки

Когда пытаются однокренные слова для разных смыслов использовать всегда ахинея получается. Ведь мог же по русски прямо сказать: "конкретность", и сразу бы стало понятно.
...
Рейтинг: 0 / 0
Связанность классов, что это?
    #40001506
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)
skyANA
da17,

связанность и связность - это разные вещи: Low Coupling и High Cohesion .
странный текст, начал за здравие продолжил в стиле "хайтак", я первый встал мои и тапки

Когда пытаются однокренные слова для разных смыслов использовать всегда ахинея получается. Ведь мог же по русски прямо сказать: "конкретность", и сразу бы стало понятно.

Кто мог? Не автор статьи так эти термины перевёл на русский

https://www.google.com/search?q=связанность и связность
...
Рейтинг: 0 / 0
Связанность классов, что это?
    #40001513
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
da17,

никакой разницы в вашем и 1ом моем примере нет, разница лишь в инициализации. При этом у вас класс Foo всё равно сильно связан с конкретным классом
...
Рейтинг: 0 / 0
Связанность классов, что это?
    #40001523
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA
kealon(Ruslan)
пропущено...
странный текст, начал за здравие продолжил в стиле "хайтак", я первый встал мои и тапки

Когда пытаются однокренные слова для разных смыслов использовать всегда ахинея получается. Ведь мог же по русски прямо сказать: "конкретность", и сразу бы стало понятно.

Кто мог? Не автор статьи так эти термины перевёл на русский

https://www.google.com/search?q=связанность и связность
вот позорище, ещё и чужие мысли пытался прилепить
они и в 2002 не взлетели
...
Рейтинг: 0 / 0
Связанность классов, что это?
    #40001672
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)
skyANA
пропущено...

Кто мог? Не автор статьи так эти термины перевёл на русский

(подозрительная ссылка!) https://www.google.com/search?q=связанность и связность
вот позорище, ещё и чужие мысли пытался прилепить
они и в 2002 не взлетели

Вы открыли для себя понятия связанность (coupling) и связность (cohesion), это я понял.
А недовольны-то вы чем?
...
Рейтинг: 0 / 0
Связанность классов, что это?
    #40001677
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дожили...

скоро пойдут вопросы, что такое "энкримент" и "дыкремент" и зачем оно нужно
...
Рейтинг: 0 / 0
Связанность классов, что это?
    #40001701
love_bach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA
kealon(Ruslan)
пропущено...
вот позорище, ещё и чужие мысли пытался прилепить
они и в 2002 не взлетели

Вы открыли для себя понятия связанность (coupling) и связность (cohesion), это я понял.
А недовольны-то вы чем?


видимо русской терминологией: "связность - сцепление" - лучше на русском звучит, да и как-то раньше так и называлось это
...
Рейтинг: 0 / 0
Связанность классов, что это?
    #40001821
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
love_bach
skyANA
пропущено...

Вы открыли для себя понятия связанность (coupling) и связность (cohesion), это я понял.
А недовольны-то вы чем?


видимо русской терминологией: "связность - сцепление" - лучше на русском звучит, да и как-то раньше так и называлось это

Связность - это cohesion, а не coupling
Зацепление (программирование)Зацепление, сцепление, связанность , сопряжение ( coupling ) - способ и степень взаимозависимости между программными модулями; сила взаимосвязей между модулями; мера того, насколько взаимозависимы разные подпрограммы или модули.

Сильное зацепление рассматривается как серьёзный недостаток, поскольку затрудняет понимание логики модулей, их модификацию, автономное тестирование, а также переиспользование по отдельности.
...
Рейтинг: 0 / 0
Связанность классов, что это?
    #40001851
love_bach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA
love_bach
пропущено...


видимо русской терминологией: "связность - сцепление" - лучше на русском звучит, да и как-то раньше так и называлось это

Связность - это cohesion, а не coupling
Зацепление (программирование)Зацепление, сцепление, связанность , сопряжение ( coupling ) - способ и степень взаимозависимости между программными модулями; сила взаимосвязей между модулями; мера того, насколько взаимозависимы разные подпрограммы или модули.

Сильное зацепление рассматривается как серьёзный недостаток, поскольку затрудняет понимание логики модулей, их модификацию, автономное тестирование, а также переиспользование по отдельности.

А что не так? Я привел в кавычках эту пару терминов, чтобы подчеркнуть что слова с разными корнями проще запомнить :)
...
Рейтинг: 0 / 0
Связанность классов, что это?
    #40001861
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
love_bach
skyANA
пропущено...

Связность - это cohesion, а не coupling
пропущено...

А что не так?

Вы пишете связность (cohesion), а имеете в виду связанность (coupling).
Сообственно ТС завёл топик про связанность (coupling), а потом ошибся и написал: "если мы вот так сделаем... мы уменьшим связность или увеличим?".

На что я и указал, что связанность и связность - это два разных понятия.
И ссылкой на статью намекнул на то, что можно и самому почитать о том, что к чему и как лучше.
...
Рейтинг: 0 / 0
Связанность классов, что это?
    #40001877
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

Не морочьте голову человеку, он же по русски спросил. Среди народа за этим словом прочно прижился термин coupling. Никто, кроме отдельных хипстеров, не вводит одновременно однокоренные слова для существенно разносмысловых понятий если хочет донести свою мысль. Иначе выйдет тайное знание из разряда различий между "работать как бобр" и "бобровать" у одного детского писателя.
...
Рейтинг: 0 / 0
Связанность классов, что это?
    #40001881
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan),

а я и не морочу...
Cohesion, coherence, coherency переводится как связность, прочность.
Coupling - зацепление, сцепление, связанность.

Разные понятия, как ни крути и как бы вам это не нравилось.

Закрывать/открывать и ввозить/вывозить - между прочим тоже однокоренные слова
...
Рейтинг: 0 / 0
Связанность классов, что это?
    #40001885
love_bach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA
kealon(Ruslan),

а я и не морочу...
Cohesion, coherence, coherency переводится как связность, прочность.
Coupling - зацепление, сцепление, связанность.

Разные понятия, как ни крути и как бы вам это не нравилось.

Закрывать/открывать и ввозить/вывозить - между прочим тоже однокоренные слова


Ну тут уже не про понятия, а про термины, удачные и не очень. Связность - Зацепление - удачно. Связность - Связанность - не удачно
...
Рейтинг: 0 / 0
Связанность классов, что это?
    #40001888
love_bach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вообще-то, концепция стара как мир. И ее нарушение тоже сплошь и рядом бывает оправданным. Расскажите инженерам космических аппаратов, которые должны вкорячить в ограниченный объем аппаратуру, выполняющую требуемые функции.
...
Рейтинг: 0 / 0
Связанность классов, что это?
    #40001889
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
love_bach
skyANA
kealon(Ruslan),

а я и не морочу...
Cohesion, coherence, coherency переводится как связность, прочность.
Coupling - зацепление, сцепление, связанность.

Разные понятия, как ни крути и как бы вам это не нравилось.

Закрывать/открывать и ввозить/вывозить - между прочим тоже однокоренные слова


Ну тут уже не про понятия, а про термины, удачные и не очень. Связность - Зацепление - удачно. Связность - Связанность - не удачно

Согласны, что Cвязность - это Cohesion (степень, в которой задачи, выполняемые некоторым программным модулем, связаны друг с другом)?
...
Рейтинг: 0 / 0
Связанность классов, что это?
    #40001890
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
love_bach
А вообще-то, концепция стара как мир. И ее нарушение тоже сплошь и рядом бывает оправданным. Расскажите инженерам космических аппаратов, которые должны вкорячить в ограниченный объем аппаратуру, выполняющую требуемые функции.

Вернёмся к первому посту автора:
da17
Все никак не пойму, как это выглядит на примере (связанность, зацепление) конкретных классов и какие преимущества дает слабая связанность классов?
Погуглив нашел отсылки только к одной книге и все. Скиньте пожалуйста ссылки на то где это как-нибудь более детально на примерах показано.

Я ему дал ссылки, заодно и указал на то, что Связность - это совсем иное. Чтобы он знал, что гуглить и не путался.
...
Рейтинг: 0 / 0
Связанность классов, что это?
    #40001892
love_bach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA
love_bach
пропущено...


Ну тут уже не про понятия, а про термины, удачные и не очень. Связность - Зацепление - удачно. Связность - Связанность - не удачно

Согласны, что Cвязность - это Cohesion (степень, в которой задачи, выполняемые некоторым программным модулем, связаны друг с другом)?

Согласен :)
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Связанность классов, что это?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]