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

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

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

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

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

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

от 25%

Подписываем

договор

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

Скидка 25% при заказе до 3.2.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.  Содержание стратегического менеджмента Стратегический менеджмент ~ наиболее современная модификация
4. го и ремесленного производства в отдельных районах и городах что приводит к упрочению торговых связей межд
5. Операционные системы Ресурсы ВС и управление ими в ОС
6. 1 Электроемкость уединенного проводника
7. Архитектура компьютеров Многообразие компьютеров
8. Типография РАДУГА
9. 1] Предисловие. [1] ОБЩИЕ ПРИНЦИПЫ ДЕЙСТВЕННОГО АНАЛИЗА [2] ПРЕДЛАГАЕМЫЕ ОБСТОЯТЕЛЬСТВА [3]
10. Трудовые споры и порядок их разрешение