Силна кохезия и слаба свързаност
1. Силна кохезия
Добър пример:
public void PrintInfo(string info, Label lbl1)
Лош пример:
public void PrintInfoAndCookMusaka(string info, Label1 lbl1, double quantity, Object oven) – метод, който отпечатва информация в дадена контрола и готви мусака
Добър пример:
Лош пример:
Label1.Text = “The text from task 1”;
}
Примерна задача:
Искаме да направим проект – електронен училищен дневник. Две от неговите функционалности са:
1) Absents() - пресмята и отпечатва общ брой отсъствия за класа
2) Grant() - отпечатва всички ученици, които получават „награда” (награда получават всички с успех над 4.50)
Да се напише какви параметри трябва да има всеки от методите и как са гарантирани принципите за силна кохезия и слаба свързаност?
Решение:
double CalculateAbsents(double[] absents, int size): absents() е масив с отсъствия и закъснения на ученици, size е размер на масива (брой ученици)
void PrintAbsents(Label lbl, double absents): lbl – конторла, в която отпечатваме резултата, absents – самият резултат
Grant(Label lbl, double range): lbl – контрола, в която отпечатваме резутата; range – минимален успех, за който се получава награда
- Силна кохезия: имаме 2 отделни метода за CalculateAbsents и PrintAbsents и всеки от тях прави точно 1 нещо. Също така и Grant прави точно 1 нещо
- Слаба свързаност: добавяме параметри size, lbl, range – за да може при промяна на някоя от тези стойности да не променяме метода.
Задачи за самостоятелна работа:
1.Да се напише функция, която по зададен масив отпечатва числата, намира сумата и средното им аритметично
2.Да се напише метод, който отпечатва числата от 1 до 50