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

Лабораторная работа 2 Исследование способов применения поведенческих паттернов проектирования

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

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

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

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

от 25%

Подписываем

договор

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

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

Министерство образования науки, молодёжи и спорта Украины

Севастопольский национальный технический университет

Кафедра ИС

Лабораторная работа №2

Исследование способов применения поведенческих паттернов проектирования

Выполнил:

ст. гр. И-22д

Масюк  А. В.

Проверил:

Дрозин А. Ю.

Севастополь

2013

1 Цель работы.

Исследовать возможность использования поведенческих паттернов проектирования. Получить практические навыки применения паттернов поведения при объектно-ориентированном проектировании.

2. Постановка задачи с указанием моделируемой предметной области.

1. Для предметной области «обучение студента в университете»  выполнить анализ заданной предметной области, построить диаграмму классов, на диаграмме классов , найти класс-клиент, запрос от которого необходимо передавать по цепочке объектов,  и классы-получатели запросов, объекты которых целесообразно объединять в цепочку.

      2. Выполнить перепроектирование диаграммы классов использовав паттерн Цепочка обязанностей.

     3. Сравнить полученные диаграммы классов, сделать выводы и целесообразности использования паттернов проектирования для данной системы.

      4. На основе UML-диаграммы выполнить синтез программного кода, скомпилировать программу и продемонстрировать ее работоспособность.

3 Словесное описание мотивации применения паттерна Цепочка обязанностей при проектировании данной системы.

             Выбранная предметная область относится к сфере обучения, в которой, как правило, есть сторона учебного заведения(методист, лекторы и тп) и учащихся. Применение паттерна «Цепочка обязанностей» в данном случае аргументируется предоставление удобства в поисках преподавателей из разных стран с помощью уровня их зарплат. В данном случае  из класса Преподаватель идет запрос в классы –наследники на поиск и вывод информации о преподавателе(страна и зарплата).

4. ДИАГРАММЫ КЛАССОВ

Рисунок 4.1 – Исходная диаграмма классов.

Рисунок 4.2 – Модифицированная диаграмма классов.

5. ТЕСКТ ПРОГРАММЫ

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

public abstract class Lecturer {

 protected Lecturer successor;

   public  void SetSuccesessor(Lecturer succesessor) {

       this.successor = succesessor;

   }

   public abstract void GetSal(int salary);

}

public class Ukrainian : Lecturer

{

   public override void GetSal(int salary)

   {

       if (salary <= 500 && salary >= 300)

           Console.WriteLine("Found Ukrainian Assistant of Physics with salary: $ " + salary + "\n");

       else

           if (salary <= 750 && salary > 500)

               Console.WriteLine("Found Ukrainian Associate Professor of Physics with salary: $ " + salary + "\n");

           else

               if (salary <= 1000 && salary > 750)

                   Console.WriteLine("Found Ukrainian Professor of Physics with salary: $ " + salary + "\n");

               else if (successor != null)

               {

                   successor.GetSal(salary);

       }

   }

}

public class Arabic : Lecturer

{

   public override void GetSal(int salary)

   {

       if (salary <= 12000 && salary >= 10000)

           Console.WriteLine("Found Arabic Assistant of Chemistry with salary:  $ " + salary + "\n");

       else

           if (salary <= 15000 && salary > 12000)

               Console.WriteLine("Found Arabic Associate Professor of Chemistry with salary:  $ " + salary + "\n");

           else

               if (salary <= 17000 && salary > 15000)

                   Console.WriteLine("Found Arabic Professor of Chemistry with salary:  $ " + salary + "\n");

               else if (successor != null)

               {

                   successor.GetSal(salary);

         }

   }

}

public class American : Lecturer

{  

   public override void GetSal(int salary)

   {

       if (salary <= 3000 && salary >= 1500)

           Console.WriteLine("Found American Assistant of History with salary:  $ "+ salary + "\n");

       else

           if (salary <= 5000 && salary >= 3000)

               Console.WriteLine("Found American Associate Professor of History with salary:  $ "+ salary + "\n");

           else

               if (salary <= 7000 && salary >= 5000)

                   Console.WriteLine("Found American Professor of Chemistry with salary: $ " +salary + "\n");

               else if (successor != null)

               {

                   successor.GetSal(salary);

        }

}

}

class DemoChofRes {

   static void Main() {

        Lecturer prep1=new Ukrainian();

        Lecturer prep2 = new Arabic();

        Lecturer prep3=new American();

        Random ran = new Random();

              prep1.SetSuccesessor(prep2);

              prep2.SetSuccesessor(prep3);

       int[] salaries = new int[30];

       for (int i = 0; i < 30; i++) {

           salaries[i] = ran.Next(300, 17000);

       }

       foreach (int salary in salaries) {

           prep1.GetSal(salary);

       }

       Console.WriteLine("Press any key to exit.\n P.S.:Treatment was successful!)");

       Console.ReadKey();

   }

}

ВЫВОД

На лабораторной работе изучены принципы использования паттернов проектирования. Получены практические навыки применения паттернов поведения при объектно-ориентированном проектировании. Был изучен паттерн поведения – цепочка обязанностей. В данном конкретный объект обрабатывает запрос, а если не может обработать, передаёт его другому объекту.




1. рациональной функции Представление правильной дробнорациональной функции в виде суммы простейших дробе
2. Курсовая работа- Словесная память у детей с нарушениями слуха
3. Введение В конце XX столетия Россия вступила на путь перехода от плановой системы экономики к рыночной неот
4. Гармония совместно с руководством в лице директора Садртдинова О
5. Реферат- Этногенез и технологии виртуальной реальности
6. ТЕМЫ РЕФЕРАТОВ по дисциплине «История бухгалтерского учета и аудита»
7. Под углом наклона прямой понимается наименьший угол на который нужно повернуть вокруг точки пересечения
8. важные качества Медицинские противопоказания Знания Умения
9. тема суспільства Сучасна грошова система України Закони грошового обігу та грошовий обіг України Х
10. Тема 1 Гражданское право как отрасль права главы 12 ГК РФ План 1 Понятие гражданского права