У вас вопросы?
У нас ответы:) SamZan.net

Рефакторинг Виключення дублювання коду Розробка бібліотек класів та знайомство з багатопроектними рішеннями

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 28.12.2024

Міністерство освіти та науки України

Житомирський державний технологічний університет

Кафедра ПЗОТ

Група ПІ-40

Лабораторна робота №3

Рефакторинг. Виключення дублювання коду.

Розробка бібліотек класів та знайомство з багатопроектними рішеннями

Житомир-2011г.


ТЕХНІЧНЕ ЗАВДАННЯ

Розробити дві програми для розв’язання квадратних рівнянь (, де ) з різними інтерфейсами користувача (текстовим та графічним).

1. Виключити дублювання коду програм, шляхом оформлення алгоритму розв’язання квадратного рівняння у вигляді класу та винесення його в окрему бібліотеку.

2. Клас розв’язання квадратного рівняння спроектувати таким чином, щоб його можна було використовувати у програмах з будь-яким інтерфейсом користувача.


Опис розробленої програми

Виконавши дану лабораторну роботу, я уникнув дублювання коду програми, шляхом опису алгоритму розв’язання квадратного рівняння у класі Class1.cs та винесенням його у окрему бібліотеку mylab. Була створена можливість використовувати клас розв’язання квадратного рівняння у програмах з будь-яким інтерфейсом користувача, а саме: «консольний» та «форма».

квадратний рівняння текстовий графічний інтерфейс


Код програми

//Клас, винесений в окрему бібліотеку mylab;System;System.Collections.Generic;System.Linq;System.Text;

mylab

{class SqrEquation

{double a;double b;double c;double D;double x1;double x2;void MathDiscriminant()

{= b * b - 4 * a * c;

}void MathX1()

{= (-b + Math.Sqrt(D)) / (2 * a);

}void MathX2()

{= (-b - Math.Sqrt(D)) / (2 * a); ;

}SqrEquation(double a, double b, double c)

{.a = a;.b = b;.c = c;(a == 0)new Exception("Це не квадратне рівняння!");.MathDiscriminant();.MathX1();.MathX2();

}

}

}

Інтерфейс форми

System;System.Windows.Forms;mylab;lab3

{partial class Form1 : Form

{Form1()

{();

}void Form1_Load(object sender, EventArgs e)

{

}void button1_Click(object sender, EventArgs e)

{equ = new SqrEquation(Convert.ToDouble(tbA.Text), Convert.ToDouble(tbB.Text),.ToDouble(tbC.Text));.Text = Convert.ToString(equ.x1);.Text = Convert.ToString(equ.x2);

}void textBox5_TextChanged(object sender, EventArgs e)

{

}

}

}

Консольний інтерфейс користувача

System;mylab;lab2

{Program

{void Main()

{equ = new SqrEquation

(Convert.Int32(System.Console.ReadLine()), .ToInt32(System.Console.ReadLine()),.ToInt32(System.Console.ReadLine()));.WriteLine("x1={0}; x2={1}", equ.x1, equ.x2);.Console.Read();

}

}

}


Висновок

В ході лабораторної роботи мною було розроблено 2 програми для розв’язання квадратних рівнянь з текстовим та графічним інтерфейсами користувача без дублювання їх коду.




1. Память хранящая обрабатываемые в текущее время данные и выполняемые команды программу называется осно
2. Китай после 2-й мировой войны
3. Понятие и виды правонарушений
4. Поражение органа зрения при токсоплазмозе
5. реферат дисертації на здобуття наукового ступеня кандидата економічних наук Київ 2005.
6. уплывет за границу увеличится вероятность дефицита платежного баланса
7. Доклад- Почему нужно было еще раз открывать пролив
8. Тема- Кодирование звука
9. А. Вампилов. Утиная охота.html
10. сверхчеловеке индивидуалистический культ сильной личности
11. Ведение сельского хозяйства в условиях радиоактивного загрязнения
12.  Порядок звільнення з роботи
13. Менеджмент эволюциясы Текс
14. 28 РІШЕННЯ
15. Реферат на тему- Электронные ключи Выполнил- студент группы 4Ж Антонов А.html
16. РЕФЕРАТ дисертації на здобуття наукового ступеня кандидата технічних наук
17. Тамими ~ ~ ~~ ~ Знай да смилостивится над тобой Аллах что единобожие таухид
18. Теоретическое знакомство с явлением преобразования тепловой энергии в электрическую при контакте разноро
19. ТЕМА 4 ОЦІНЮВАННЯ ТА КАЛЬКУЛЯЦІЯ Лвекція 4
20. Нагорная проповедь Христа