Класс имеет максимальное сцепление , если все его методы работают со всеми переменными-членами.
public class MyClass
{
private int value1;
private int value2;
private int value3;
public int Method1()
{
return value1 + value2;
}
public int Method2()
{
return value1 - value2;
}
// doesn't belong on this class
public int Method3()
{
return value3 * 2;
}
}
Муфта поставляется в двух формах:
- Класс использует другой класс внутри. Это соединение, но это нормально, так как это пример композиции по наследованию
Пример:
public class MyClass
{
public void Method1()
{
var c = new MyOtherClass();
c.DoSomething();
}
}
- Худшая связь выглядит следующим образом и часто упоминается как Закон Деметры нарушение.
Пример: * * один тысяча двадцать-одна
public class MyClass
{
public void Method1()
{
var c = new MyOtherClass();
var size = c.Members.Size;
...
}
}
В этом случае MyClass
связан не только с MyOtherClass
, но и с структурой из MyOtherClass
, и именно здесь вы столкнетесь с проблемами, и ваш код станет жестким и хрупким. *