Будь умным!


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

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

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

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

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

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

от 25%

Подписываем

договор

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

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

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

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

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

Кафедра ПЗОТ

Група ПІ-40

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

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

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

Житомир-2011г.

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

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

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

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

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

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

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

Код програми

//Клас, винесений в окрему бібліотеку mylab;

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace mylab

{

public class SqrEquation

{

private double a;

private double b;

private double c;

private double D;

public double x1;

public double x2;

public void MathDiscriminant()

{

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

}

public void MathX1()

{

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

}

public void MathX2()

{

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

}

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

{

this.a = a;

this.b = b;

this.c = c;

if (a == 0)

throw new Exception("Це не квадратне рівняння!");

this.MathDiscriminant();

this.MathX1();

this.MathX2();

}

}

}

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

using System;

using System.Windows.Forms;

using mylab;

namespace lab3

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void Form1_Load(object sender, EventArgs e)

{

}

private void button1_Click(object sender, EventArgs e)

{

SqrEquation equ = new SqrEquation(Convert.ToDouble(tbA.Text), Convert.ToDouble(tbB.Text),

Convert.ToDouble(tbC.Text));

tbX1.Text = Convert.ToString(equ.x1);

tbX2.Text = Convert.ToString(equ.x2);

}

private void textBox5_TextChanged(object sender, EventArgs e)

{

}

}

}

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

using System;

using mylab;

namespace lab2

{

class Program

{

static void Main()

{

SqrEquation equ = new SqrEquation

(Convert.Int32(System.Console.ReadLine()),

Convert.ToInt32(System.Console.ReadLine()),

Convert.ToInt32(System.Console.ReadLine()));

Console.WriteLine("x1={0}; x2={1}", equ.x1, equ.x2);

System.Console.Read();

}

}

}

Висновок

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




1. і 3 К~п ма~ыналы с~зді табы~ыз
2. Влияние стресса на функции сердечно-сосудистой системы военнослужащих
3. реферат дисертації на здобуття наукового ступеня кандидата сільськогосподарських наук
4. Наружная и внутренняя мойка ампул- способы внутренней мойки ампул их характеристика пути интенсификации
5. встретил Сатья Саи Бабу в 1984 году моя жизнь была полной неразберихой и эта ситуация была общей для многих по
6.  аналоговые вольтметры амперметры мультиметры и индикаторы
7. Пасифик медиа Хабаровск с тридцатого июня 2014г
8. Курсовая работа- Затраты на предприятии
9.  З погляду одних кожна особистість формується і розвивається відповідно до її вроджених якостей здібностей
10. 'осымша 'аза'стан Республикасы туристік индустриясыны' перспективалы ба'ыттарын дамыту ж'ніндегі 201
11. ТЕМА 910- Сутність та особливості соціального захисту бездоглядних дітей як змістовна основа діяльності прит
12. Могилевский государственный университет им
13. Финансовая математик
14. тема которая держит информацию в уме активной для выполнения вербальных и невербальных задач и делает ее дос
15. Типы растений по отношению к свету
16. структура Для детей номера питание Особенности рекоменд
17. .1116.11.2013р. Дата дисципліна Виклада
18. Роль госбюджета в сбалансированном развитии экономики
19. Контрольная работа Изучение индивидуальных особенностей самосознания личности
20. экономическая часть 3