Програмиране с ASP C#

Учебен сайт

0

Силна кохезия и слаба свързаност

1. Силна кохезия

а) Определение – —Всеки клас върши точно 1 добре определена функционалност
б) —Постига се чрез разделяне на кода в повече методи/класове
HDD - хард диск

Добър пример:

public void PrintInfo(string info, Label lbl1)

Лош пример:

—public void PrintInfoAndCookMusaka(string info, Label1 lbl1, double quantity, Object oven)  – метод, който отпечатва информация в дадена контрола и готви мусака

2. Слаба свързаност
а) Определение – —Отделните класове и методи са независими един от друг и промяната на 1 клас/метод не влияе на промяната на останалите.
б) —Постига се чрез добавяне на параметри.
pc parts - компонентите на компьтъра

Добър пример:

public void ChangeProperties(ByVal cnt As Object, ByVal color As Object, ByVal content As String)

Лош пример:

—Public Sub ChangeLabel1(){Label1.ForeColor = System.Drawing.Colors.Red;

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