Выпуск №15 (Ноябрь)

https://doi.org/10.25313/2520-2057-2017-15

XLII Международная научно-практическая конференция «Актуальные проблемы современной науки», 27.06.2019 (Совместная конференция с Международным научным центром развития науки и технологий)

XLI Международная научно-практическая конференция «Актуальные проблемы современной науки», 30.05.2019 (Совместная конференция с Международным научным центром развития науки и технологий)

XL Международная научно-практическая конференция «Актуальные проблемы современной науки», 28.03.2019 (Совместная конференция с Международным научным центром развития науки и технологий)

МНПК "Цифровая трансформация и инновации в экономике, праве, государственном управлении, науке и образовательных процессах", 18-21.03.2019

XXXIX Международная научно-практическая конференция «Актуальные проблемы современной науки», 27.02.2019 (Совместная конференция с Международным научным центром развития науки и технологий)

XIII Международная научно-практическая конференция «Научный диспут: вопросы экономики и финансов», 31.01.2019 (Совместная конференция с Финансово-экономическим научным советом)

XXXVIII Международная научно-практическая конференция «Актуальные проблемы современной науки», 30.01.2019 (Совместная конференция с Международным научным центром развития науки и технологий)

XXXVІI Международная научно-практическая конференция: "Актуальные проблемы современной науки", 28.12.2018 (Совместная конференция с Международным научным центром)

XXXVI Международная научно-практическая конференция: "Актуальные проблемы современной науки", 29.11.2018 (Совместная конференция с Международным научным центром)

XIII Международная научно-практическая конференция «Актуальные проблемы экономики и финансов», 31.10.2018 (Совместная конференция с Финансово-экономическим научным советом)

XXXV Международная научно-практическая конференция: "Актуальные проблемы современной науки", 30.10.2018 (Совместная конференция с Международным научным центром)

XXXIV Международная научно-практическая конференция: "Актуальные проблемы современной науки", 28.09.2018 (Совместная конференция с Международным научным центром)

ХXXIII Международная научно-практическая конференция: "Актуальные проблемы современной науки", 30.08.2018 (Совместная конференция с Международным научным центром)

ХXXII Международная научно-практическая конференция: "Актуальные проблемы современной науки", 31.07.2018 (Совместная конференция с Международным научным центром)

XII Международная научно-практическая конференция «Актуальные проблемы экономики и финансов», 31.07.2018 (Совместная конференция с Финансово-экономическим научным советом)

ХXXI Международная научно-практическая конференция: "Актуальные проблемы современной науки", 29.06.2018 (Совместная конференция с Международным научным центром)

ХІ Международная научно-практическая конференция «Глобальные проблемы экономики и финансов», 31.05.2018 (Совместная конференция с Финансово-экономическим научным советом)

XXХ Международная научно-практическая конференция: "Актуальные проблемы современной науки", 30.05.2018 (Совместная конференция с Международным научным центром)

XXIХ Международная научно-практическая конференция: "Актуальные проблемы современной науки", 30.04.2018 (Совместная конференция с Международным научным центром)

ХХVIІІ Международная научно-практическая конференция: "Актуальные проблемы современной науки", 29.03.2018 (Совместная конференция с Международным научным центром)

ІІІ МНПК "Экономика, финансы и управление в XXI веке: анализ тенденций и перспективы развития", 19-22.03.2018 (Совместная конференция с Финансово-экономическим научным советом)

X Международная научно-практическая конференция «Глобальные проблемы экономики и финансов», 28.02.2018 (Совместная конференция с Финансово-экономическим научным советом)

ХХVІІ Международная научно-практическая конференция: "Актуальные проблемы современной науки", 27.02.2018 (Совместная конференция с Международным научным центром)

ХХVІ Международная научно-практическая конференция: "Актуальные проблемы современной науки", 30.01.2018 (Совместная конференция с Международным научным центром)

XІІ Международная научно-практическая конференция «Научный диспут: вопросы экономики и финансов», 29.12.2017 (Совместная конференция с Финансово-экономическим научным советом)

ХХV Международная научно-практическая конференция: "Актуальные проблемы современной науки", 28.12.2017 (Совместная конференция с Международным научным центром)

ХХІV Международная научно-практическая конференция: "Актуальные проблемы современной науки", 29.11.2017 (Совместная конференция с Международным научным центром)

XI Международная научно-практическая конференция «Актуальные проблемы экономики и финансов», 31.10.2017 (Совместная конференция с Финансово-экономическим научным советом)

XІ Международная научно-практическая конференция «Научный диспут: вопросы экономики и финансов», 29.09.2017 (Совместная конференция с Финансово-экономическим научным советом)

ХХIІІ Международная научно-практическая конференция: "Актуальные проблемы современной науки", 28.09.2017 (Совместная конференция с Международным научным центром)

X Международная научно-практическая конференция «Актуальные проблемы экономики и финансов», 31.07.2017 (Совместная конференция с Финансово-экономическим научным советом)

ХXII Международная научно-практическая конференция: "Актуальные проблемы современной науки", 28.07.2017 (Совместная конференция с Международным научным центром)

ХXI Международная научно-практическая конференция: "Актуальные проблемы современной науки", 29.06.2017 (Совместная конференция с Международным научным центром)

IX Международная научно-практическая конференция «Глобальные проблемы экономики и финансов», 31.05.2017 (Совместная конференция с Финансово-экономическим научным советом)

ХX Международная научно-практическая конференция: "Актуальные проблемы современной науки", 30.05.2017 (Совместная конференция с Международным научным центром)

"Тенденции развития национальных экономик: экономическое и правовое измерение" 18-19.05.2017 (Совместная конференция с Финансово-экономическим научным советом и ККИБиП)

ХIX Международная научно-практическая конференция: "Актуальные проблемы современной науки", 27.04.2017 (Совместная конференция с Международным научным центром)

IX Международная научно-практическая конференция "Научный диспут: вопросы экономики и финансов", 31.03.2017 (Совместная конференция с Финансово-экономическим научным советом)

ХVIII Международная научно-практическая конференция: "Актуальные проблемы современной науки", 30.03.2017 (Совместная конференция с Международным научным центром)

МНПК "Экономика, финансы и управление в XXI веке: анализ тенденций и перспективы развития", 20–23.03.2017 (Совместная конференция с Финансово-экономическим научным советом)

VIII Международная научно-практическая конференция "Глобальные проблемы экономики и финансов", 28.02.2017 (Совместная конференция с Финансово-экономическим научным советом)

ХVII Международная научно-практическая конференция: "Актуальные проблемы современной науки", 27.02.2017 (Совместная конференция с Международным научным центром)

VIII Международная научно-практическая конференция "Актуальные проблемы экономики и финансов", 31.01.2017 (Совместная конференция с Финансово-экономическим научным советом)

ХVI Международная научно-практическая конференция: "Актуальные проблемы современной науки", 30.01.2017 (Совместная конференция с Международным научным центром)

ХV Международная научно-практическая конференция: "Актуальные проблемы современной науки", 28.12.2016 (Совместная конференция с Международным научным центром)

VIII Международная научно-практическая конференция "Научный диспут: вопросы экономики и финансов", 28.12.2016 (Совместная конференция с Финансово-экономическим научным советом)

VII Международная научно-практическая конференция "Глобальные проблемы экономики и финансов", 30.11.2016 (Совместная конференция с Финансово-экономическим научным советом)

ХІV Международная научно-практическая конференция: "Актуальные проблемы современной науки", 29.11.2016 (Совместная конференция с Международным научным центром)

VII Международная научно-практическая конференция "Актуальные проблемы экономики и финансов", 31.10.2016 (Совместная конференция с Финансово-экономическим научным советом)

ХІІІ Международная научно-практическая конференция: "Актуальные проблемы современной науки", 28.10.2016 (Совместная конференция с Международным научным центром)

VII Международная научно-практическая конф. «Научный диспут: вопросы экономики и финансов», 30.09.2016 (Совместная конференция с Финансово-экономическим научным советом)

ХІІ Международная научно-практическая конференция: "Актуальные проблемы современной науки", 29.09.2016 (Совместная конференция с Международным научным центром)

XI Международная научно-практическая конференция «Актуальные проблемы современной науки», 30.08.2016 (Совместная конференция с Международным научным центром)

ІV Международная научно-практическая конф. "Экономика и управление в XXI веке: анализ тенденций и перспектив развития", 29.07.2016 (Совместная конференция с Финансово-экономическим научным советом)

X Международная научно-практическая конференция "Актуальные проблемы современной науки", 28.07.2016 (Совместная конференция с Международным научным центром)

VІ Международная научно-практическая конференция "Актуальные проблемы экономики и финансов", 30.06.2016 (Совместная конференция с Финансово-экономическим научным советом)

ІX Международная научно-практическая конференция "Актуальные проблемы современной науки", 29.06.2016 (Совместная конференция с Международным научным центром)

VI Международная научно-практическая конференция "Научный диспут: вопросы экономики и финансов", 31.05.2016 (Совместная конференция с Финансово-экономическим научным советом)

VIIІ Международная научно-практическая конференция "Актуальные проблемы современной науки", 30.05.2016 (Совместная конференция с Международным научным центром)

V Международная научно-практическая конференция "Глобальные проблемы экономики и финансов", 29.04.2016 (Совместная конференция с Финансово-экономическим научным советом)

VIІ Международная научно-практическая конференция "Актуальные проблемы современной науки", 28.04.2016 (Совместная конференция с Международным научным центром)

VІ Международная научно-практическая конференция "Актуальные проблемы современной науки", 31.03.2016 (Совместная конференция с Международным научным центром)

ІI Международная научно-практическая конф. "Экономика и управление в XXI веке: анализ тенденций и перспектив развития", 30.03.2016 (Совместная конференция с Финансово-экономическим научным советом)

V Международная научно-практическая конференция "Актуальные проблемы экономики и финансов", 21-24.03.2016 (Совместная конференция с Финансово-экономическим научным советом)

V Международная научно-практическая конференция "Научный диспут: вопросы экономики и финансов", 26.02.2016 (Совместная конференция с Финансово-экономическим научным советом)

II Международная научно-практическая конференция: "Научный диспут: актуальные вопросы медицины" 20.02.2016 (Совместная конференция с Международным научным центром)

ІV Международная научно-практическая конференция "Актуальные проблемы современной науки", 29.12.2015 (Совместная конференция с Международным научным центром)

IV Международная научно-практическая конференция "Глобальные проблемы экономики и финансов", 28.12.2015 (Совместная конференция с Финансово-экономическим научным советом)

IV Международная научно-практическая конференция "Актуальные проблемы экономики и финансов", 30.11.2015 (Совместная конференция с Финансово-экономическим научным советом)

IV Международная научно-практическая конференция "Научный диспут: вопросы экономики и финансов", 29.10.2015 (Совместная конференция с Финансово-экономическим научным советом)

Международная научно-практическая конференция: "Научный диспут: актуальные вопросы медицины" 28.10.2015 (Совместная конференция с Международным научным центром)

III Международная научно-практическая конференция "Глобальные проблемы экономики и финансов", 30.09.2015 (Совместная конференция с Финансово-экономическим научным советом)

III Международная научно-практическая конференция "Актуальные проблемы экономики и финансов", 31.08.2015 (Совместная конференция с Финансово-экономическим научным советом)

ІІІ Международная научно-практическая конференция "Научный диспут: вопросы экономики и финансов", 30.06.2015 (Совместная конференция с Финансово-экономическим научным советом)

ІІ Международная научно-практическая конференция "Актуальные проблемы современной науки", 29.06.2015 (Совместная конференция с Международным научным центром)

II Международная научно-практическая конференция "Глобальные проблемы экономики и финансов", 28.05.2015 (Совместная конференция с Финансово-экономическим научным советом)

Актуальные проблемы экономики и финансов, 29.04.2015 (Совместная конференция с Финансово-экономическим научным советом)

Научный диспут: вопросы экономики и финансов, 31.03.2015 (Совместная конференция с Финансово-экономическим научным советом)

Актуальные проблемы современной науки, 27.03.2015 (Совместная конференция с Международным научным центром)

Глобальные проблемы экономики и финансов, 27.02.2015 (Совместная конференция с финансово-экономическим научным советом)



Пахомова Є. О. Імплементація шаблонів проектування у програмну структуру ігрового процесу // Міжнародний науковий журнал "Інтернаука". — 2017. — №15.


Отрасль науки: Технические науки
Скачать статью (pdf)

Технические науки

Пахомова Євгенія Олександрівна

студент

Факультету прикладної математики

Національного технічного університету України

«КПІ ім. Ігоря Сікорського»

Пахомова Евгения Александровна

студент

Факультета прикладной математики

Национального технического университета Украины

«КПИ им. Игоря Сикорского»

Pakhomova Yevheniia

Student of the

Faculty of Applied Mathematics

National Technical University of Ukraine

«Igor Sikorsky KPI»

ІМПЛЕМЕНТАЦІЯ ШАБЛОНІВ ПРОЕКТУВАННЯ У ПРОГРАМНУ СТРУКТУРУ ІГРОВОГО ПРОЦЕСУ

ИМПЛЕМЕНТАЦИЯ ШАБЛОНОВ ПРОЕКТИРОВАНИЯ В ПРОГРАММНУЮ СТРУКТУРУ ИГРОВОГО ПРОЦЕССА

IMPLEMENTATION OF DESIGN PATTERNS TO THE PROGRAM STRUCTURE OF THE GAME PROCESS

Анотація. У роботі наведено аналіз обраних різнотипних шаблонів проектування та обґрунтування їх імплементації для створення оптимальної за стійкістю програмної структури, що описує логічний ігровий процес.

Ключові слова: шаблони проектування, об’єктно-орієнтоване програмування, логічна гра.

Аннотация. В работе представлен анализ выбранных шаблонов проектирования и обоснование их имплементации для создания оптимальной по стойкости программной структуры, описывающей логичный игровой процесс.

Ключевые слова: шаблоны проектирования, объектно-ориентированное программирование, логическая игра.

Summary. The paper presents an analysis of selected design patterns and rationale for their implementation for creating the optimal stable software structure that describes the logical game.

Key words: design patterns, object-oriented programming, logical game.

При створенні стійкого завдяки різнотипним шаблонам проектування програмного продукту доцільно спочатку абстрагувати об’єкти предметної галузі. Потім пропонується проаналізувати та обґрунтувати вибір шаблонів проектування та імплементувати їх у програмну структуру. На основі отриманих даних виконати реалізацію програмного засобу логічного ігрового процесу, а саме популярної головоломки «Гра у 15».

«Гра у 15» - головоломка що складається з 15 однакових квадратних пластин з числами від 1 до 15. Пластинки поміщаються в квадратне поле, довжина сторони якого в чотири рази більша довжини сторони пластинок, відповідно в полі залишається незаповненим одне місце. Мета гри — переміщаючи пластинки по полю добитися впорядковування їх по номерах (як зображено на рисунку), бажано зробивши якомога менше переміщень.

Ровз’язок головоломки

  1. Модульна організація програми

Абстрагування об’єктив предметної галузі дає змогу створити модульну організацію програми:

Модульна організація програми

  1. Аналіз та обґрунтування використання різнотипних шаблонів проектування

2.1. Factory method

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

Даний шаблон використовується для створення єдиного інтерфейсу через фабрику в залежності від натиснутої кнопки теми.

2.2. Singleton

Відноситься до класу твірних шаблонів. Гарантує, що клас матиме тільки один екземпляр, і забезпечує глобальну точку доступу до цього екземпляра.

Ігрова панель має бути лише одна аж до припинення роботи з програмою. Якщо в якомусь місці буде створено ще хоча б один екземпляр, будуть великі зайві втрати пам’яті. Шаблон Singleton створений, щоб не допустити цього.

2.3. Adapter

Структурний шаблон проектування, призначений для організації використання функцій об'єкта, недоступного для модифікації, через спеціально створений інтерфейс.

Користувачу байдуже, куди будуть записуватися і звідки зчитуватися результати. Для цього йому наданий інтерфейс ResultsHandler, що дозволяє це робити. Для даної версії програми запис і зчитування йде з файлу. Але із модифікаціями програми цього вже може бути недостатньо і записи потрібно буде виконувати до бази даних. Не змінюючи інтерфейс і реалізацію ResultsHandler можливо тільки замінити методи InputOutputHandler на ті, що будуть записувати до бази.

2.4. Memento

Шаблон проектування, відноситься до класу шаблонів поведінки. Не порушуючи інкапсуляції, фіксує та виносить за межі об'єкта його внутрішній стан так, щоб пізніше можна було відновити з нього об'єкт.

Шаблон був використаний для зберігання усіх станів ігрового поля аж від самого початку. Це дає користувачу змогу повернутися до будь-якої позиції і перепланувати свої кроки, адже і кількість кроків при цьому віднімається назад.

2.5. Iterator

Шаблон проектування, належить до класу шаблонів поведінки. Надає спосіб послідовного доступу до всіх елементів складеного об'єкта, не розкриваючи його внутрішнього улаштування.

Шаблон використаний для зручної ітерації всіх кнопок поточного стану. Так як в основному взаємодія вимагає всіх кнопок, а не окремих, шаблон є доречним до використання.

2.6. Observer

Поведінковий шаблон проектування. Визначає залежність типу «один до багатьох» між об’єктами таким чином, що при зміні стану одного об’єкту всіх залежних від нього сповіщають про цю подію.

Шаблон використаний для спостереження за станами гри. ObserverWin при кожному новому перевіряє, чи не є він виграшним, щоб завершити дану гру. ObserverCount виконує підрахунок кроків, що зробив користувач. Використані для того, щоб не нагромаджувати логіку класу CareTaker.

2.7. Visitor

Шаблон проектування, який дозволяє відділити певний алгоритм від елементів, на яких алгоритм має бути виконаний, таким чином можливо легко додати або ж змінити алгоритм без змін щодо елементів системи. Практичним результатом є можливість додавання нових операцій в існуючі структури об'єкта без зміни цих структур.

Шаблон використаний для перевірки поточного стану на виграш. Якщо стан таким не є, гра продовжується, якщо навпаки – створює віконце, що пропонує записати свої результати та ім’я.

  1. Діаграма класів

Діаграма класів

Висновки. Створено стійкий завдяки різнотипним шаблонам проектування програмний продукт. Для створення модульної організації програми введені абстракції об’єктів предметної галузі. Виконано аналіз, обґрунтування вибору та імплементація до структури програми семи різнотипних шаблонів проектування. Реалізовано програмний засіб логічного ігрового процесу популярної головоломки «Гра у 15».

Головним результатом імплементації семи різнотипних шаблонів проектування до програмної структури логічної гри слід вважати стійкість розробленого програмного продукту.

Для розроблення програмного забезпечення використані мова програмування Java та технологія розробки графічного інтерфейсу JavaFX.

Література

  1. Гамма Э. Приемы объектно-ориентированого проектирования. Паттерны проектирования [Текст] / Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес. – СПб: Питер, 2009. – 366 с.
  2. Фримен Э., Фримен Э., Сьерра К., Бейтс Б. Паттерны проектирования. — СПб.: Питер, 2011. — 656 с.: ил.
  3. Design Patterns: Elements of Reusable Object-Oriented Software / Erich Gamma, Richard Helm,Ralph Johnson, John M. Vlissides // Шаблони проектування - 2012. - С.30-69.