СТАТЬИ АРБИР
 

  2018

  Декабрь   
  Пн Вт Ср Чт Пт Сб Вс
26 27 28 29 30 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31 1 2 3 4 5 6
   

  
Логин:
Пароль:
Забыли свой пароль?


Шаблоны или паттерны в проектировании программного


ШАБЛОНЫ ИЛИ ПАТТЕРНЫ В ПРОЕКТИРОВАНИИ ПРОГРАММНОГО

ОБЕСПЕЧЕНИЯ

Для разработки современного программного обеспечения, необходимо в самом начале, на этапе проектирования, определиться с используемыми шаблонами проектирования программного продукта. «Шаблон проектирования или паттерн (англ. design pattern) в разработке программного обеспечения - повторимая архитектурная конструкция, представляющая собой решение проблемы проектирования в рамках некоторого часто возникающего контекста. Обычно шаблон не является законченным образцом, который может быть прямо преобразован в код; это лишь пример решения задачи, который можно использовать в различных ситуациях».

История создания паттернов проектирования переносит нас в 1970 год, когда архитектор Кристофер Александр составил набор шаблонов проектирования не получивший поддержки и развития. В 1987 Кент Бэк и Вард Каннингем, взявшие идеи Александра, разработали шаблоны применительно к программному обеспечению.

А в 1994 году издается книга «Design Patterns - Elements of Reusable Object - Oriented Software», в которой были структурированы более двадцати классических шаблонов, которые можно поделить на три категории:

о порождающие (абстрагирующие процесс наследования);

о структурные (позволяющие на основе объектов и классов, рассмотреть более крупные структуры);

о поведенческие (определяющие алгоритмы и способы реализации взаимодействия различных объектов и классов).

Шаблоны проектирования являются неотъемлемой частью разработки крупного проекта и представляют собой лучшие практики, которые используют опытные разработчики, применяя объектно - ориентированный язык программирования. Важно понимать, что паттерны проектирования не являются универсальным решением и для каждой отдельной ситуации необходимо придумывать свою реализацию используя базовые основы крупных и зарекомендовавших себя шаблонов. Сам метод представляет из себя практическое руководство по разделению основных компонентов приложения, например, таких как базы данных и пользовательский интерфейс, и подразумевающий под собой обеспечение их эффективного взаимодействия через создание дополнительного класса презентера. Данные решения в сфере объектно - ориентированного программирования были получены вследствие многолетней практики, методов проб и ошибок и признания у высококлассных разработчиков по всему миру.

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

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

В качестве примера использования концепции паттернов можно привести фреймворк Ruby on Rails, написанный на языке программирования Ruby. Ruby on Rails реализует архитектурный шаблон Model - View - Controller для веб - приложений. Общая концепция архитектуры состоит из браузера, контроллера, модели и представления. Браузер через веб - сервер по маршрутам дает запрос контроллеру, он в свою очередь обращается к модели за информацией из базы данных и возвращает данные обратно контроллеру, а представление в свою очередь создает пользовательский интерфейс с использованием полученных от контроллера данных.

По сравнению с самостоятельным проектированием, использование паттернов позволит разработчику получить ряд преимуществ. Такие как, снижение сложности разработки программного продукта, за счет использования готового шаблона, позволит упростить коммуникацию между разработчиками, позволив ссылаться на известные шаблоны, приводимость к унификации, что позволит снизить количество ошибок. Если разработчик сможет правильно сформулировать и применить шаблон, то сможет использовать решение не ограниченное количество раз.

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

Занимаясь разработкой программного обеспечения под Android, я отдал предпочтение MVP - шаблону, так как концепция разрабатываемого приложения состояла из передачи запроса на сервер и возвращение данных на пользовательский интерфейс, а в частности изображений. Основываясь на концепции взаимодействия основных компонентов шаблона, применительно к моей разработке определено четыре основных класса. Например, класс отображение, который в свою очередь выводит информацию на пользовательский интерфейс, презентер решает, что и в какой форме будет выводиться на экран, модель подразумевает сбор и распределение информации полученную с сервера и дополнительный класс для организации взаимодействия с сервером по поиску изображений Flickr.

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

Список использованной литературы:

ФГОС ВО 27.04.05 Инноватика (уровень магистратуры). Приказ Минобрнауки РФ от 30 октября 2014 г. N 1415. http: // base.garant.ru / 70812446 / . Дата доступа 15.12.2016 г.

Джейсон Мак - Колм Смит. Элементарные шаблоны проектирования = Elemental Design Patterns. — М.: «Вильямс», 2012. — 304 с. — ISBN 978 - 5 - 8459 - 1818 - 5.

Мартин Фаулер. Шаблоны корпоративных приложений (Signature Series) = Patterns of Enterprise Application Architecture (Addison - Wesley Signature Series). — М.: «Вильямс», 2012. — 544 с. — ISBN 978 - 5 - 8459 - 1611 - 2.

Абдулгалимов Г.Л. Проблемы и решения внедрения ФГОС. Педагогика. 2013. № 10. С. 57 - 61.

Abdulgalimov G.L. Progress of information society in Russia and deficit of staff potential. Life Science Journal. 2014. Т. 11. № 8. С. 494 - 496.

Abdulgalimov G.L. A new model of Russian professional education. World Applied Sciences Journal. 2013. Т. 27. № 7. С. 826 - 829.

Васекин С.В., Абдулгалимов Г.Л., Шараборова Г.К. Профессиональная подготовка магистров инноватики. Научные труды SWorld. 2014. Т. 12. № 1. С. 86 - 88.

Абдулгалимов Г.Л., Якушева Н.М. Современные компьютерные сети. Учебное пособие. Московский гос. гуманитарный ун - т им. М. А. Шолохова. Москва, 2011.

Абдулгалимов Г.Л. Лабораторный стенд для программирования микроконтроллеров. Техника и технология. 2013. № 5 - 6 (59). С. 26 - 28.

Т.А. Гаджикулиев, 2017.

УДК 711.5


Т.А. Г аджикулиев Магистрант, МШУ, г. Москва.





МОЙ АРБИТР. ПОДАЧА ДОКУМЕНТОВ В АРБИТРАЖНЫЕ СУДЫ
КАРТОТЕКА АРБИТРАЖНЫХ ДЕЛ
БАНК РЕШЕНИЙ АРБИТРАЖНЫХ СУДОВ
КАЛЕНДАРЬ СУДЕБНЫХ ЗАСЕДАНИЙ

ПОИСК ПО САЙТУ