Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Розробка програмних модулів






Об’єктно-орієнтоване програмування (ООП) — одна з парадигм програмування, яка розглядає програму як множину «об'єктів», що взаємодіють між собою. Основу ООП складають три основні концепції: інкапсуляція, успадкування та поліморфізм. Одною з переваг ООП є краща модульність програмного забезпечення (тисячу функцій процедурної мови, в ООП можна замінити кількома десятками класів із своїми методами). Попри те, що ця парадигма з'явилась в 1960-тих роках, вона не мала широкого застосування до 1990-тих, коли розвиток комп'ютерів та комп'ютерних мереж дозволив писати надзвичайно об'ємне і складне програмне забезпечення, що змусило переглянути підходи до написання програм. Сьогодні багато мов програмування або підтримують ООП (Lua) або ж є цілком об'єктно-орієнтованими (зокрема, Java, C#, C++, Python, PHP, Ruby та Objective-C, ActionScript 3, Swift, Vala) [9].

Клас поряд з поняттям «Об'єкт», є важливим поняттям об'єктно-орієнтованого підходу в програмуванні (хоча існують і беcклассовие об'єктно-орієнтовані мови, наприклад, JavaScript). Під класом розуміється якась сутність, яка задає деякий загальна поведінка для об'єктів. Таким чином, будь-який об'єкт може належати або належати певного класу, тобто володіти або з мати поведінкою, яка даний клас увазі. Клас визначає для об'єкта контракт, тобто правила, за допомогою яких з об'єктом можуть працювати інші об'єкти (зазвичай це робиться за допомогою визначення методів класу). Крім того класи можуть перебувати один з одним в різних відносинах, таких як Спадкування або Агрегація.

Для створення додатку мною було створено дванадцять класів, які виконують ролі:

- три моделі;

- два контролери;

- шість класів які виконують запити.

Рис. 3.5 Діаграма класів

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

Атрибути:

- ‘title’ – заголовок;

- ‘uuid’ – унікальний ідентифікатор;

- ‘parent’ – ідентифікатор батьківської папки.

Операції:

- ‘jsonConvert’ – приватний метод, який перетворює вхідні дані у потрібний формат;

- ‘initWithJson’ – ініціалізація об’єкту через вхідні дані.

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

Атрибути:

- ‘uuid’ – унікальний ідентифікатор;

- ‘title’ – заголовок файлу;

- ‘size’ – розмір файлу;

- ‘parentId’ – ідентифікатор батьківської папки;

- ‘icon’ – іконка файлу;

- ‘isFolder’ – тип - папка;

- ‘downloadUrl’ – url для завантаження.

Операції:

- ‘jsonConvert’ – приватний метод, який перетворює вхідні дані у потрібний формат;

- ‘initWithJson’ – ініціалізація об’єкту через вхідні дані.

RDDeleteRequst – клас, який відповідає за відправку запиту до серверу с командою на видалення файлу.

Операції:

- ‘deleteItems’ – публічний метод видалення файлу.

RDGetItemSender - клас, який відповідає за відправку запиту до серверу с командою на отримання інформації о файлі.

Операції:

- ‘getItemWithCompletionHandler’ – публічний метод класу на отримання інформації о файлі.

RDgetAccessToken – клас, отримання коду доступу до API.

Протокол:

- ‘refresh’ – протокол оновлення даних.

Операції:

- ‘getAccessToken’ – метод отримання коду доступу.

RDInsertRequest - клас, який відповідає за відправку запиту до серверу с командою на відправку файлу.

Операції:

- ‘uploadFileForImage’ – метод відправки зображення з телефону.

RDSaveRequest - клас, який відповідає за відправку запиту до серверу с командою на збереження файлу.

Операції:

- ‘saveItems’ – метод збереження файлу.

RDRootFolder - клас, який відповідає за відправку запиту до серверу с командою на отримання списку файлу.

Атрибути:

- ‘folderObjectsArray’ – масив папок;

- ‘itemsObjectsArray’ – масив файлів.

Операції:

- ‘getChaildsWithCompletionHandler’ – метод класу, що виконує запит на список файлів.

RDTableViewCell – модель поля таблиці.

Атрибути:

- ‘icon’– зображення файлу;

- ‘title’ – зоголовок файлу;

- ‘size’ – розмір файлу.

RDTableViewController - клас, контролер, який відповідає за роботу таблиці файлів сховища.

Атрибути:

- ‘tableView' – підключення компоненту таблиці;

- ‘folders’ – масив папок;

- ‘items’ – масив файлів.

Операції:

- ‘setup’ – метод запуску таблиці;

- ‘reloadWithFolder’ – перезавантаження таблиці через папку.

RDWebView – клас, що надає змогу роботи компонента WebView.

Атрибути:

- ‘webView’ – підключення компоненту webView;

- ‘getAccessToken’ – підключення класу RDgetAccessToken;

- ‘authCode’ – код авторизації;

- ‘previousTime’ – час виклику web-браузеру.

Операції:

- ‘authCodeWithId’ – метод авторизації в хмарному сховищі.

MainViewController – клас, відіграє роль головного контролеру.

Атрибути:

- ‘editButton' – підключення кнопки редагування;

- ‘webViewController’ – підключення класу web-браузера;

- ‘tableViewController’ – підключення контролеру таблиці;

- ‘prethentView’ – підключення стартового вікнв;

- ‘googleButton’ – підключення кнопки google;

- ‘startViewButton’ – кнопка повернення до головного екрану;

- ‘refreshButton’ – кнопка оновлення списку файлів таблицці;

- ‘logOut’ – кнопка виходу з акаунту;

- ‘dropBoxButton’ – кнопка DropBox;

- ‘folder’ – масив папок;

- ‘deleteRequest’ – підключення класу видалення;

- ‘selectedItemsId’ – ідентифікатор обраного файлу;

- ‘selectedItemsTitle’ – заголовок обраного файлу;

- ‘selectedItemsDownload’ – адреса завантаження;

- ‘saveRequst’ – підключення класу, що дозволяе завантажети файл в телефон;

- ‘insertRequest’ – підключення класу, що дозволяе завантажети файл в хмарне сховище;

- ‘step’ – крок каталогу.

Операції:

- ‘googleAction’ – метод запуску даних Google диску;

- ‘back’ – метод повернення до попередньої папки;

- ‘dropBoxAction’ – метод запуску даних DropBox;

- ‘editButton’ – метод, який викликає меню редагування;

- ‘toStartView’ – метод повернення до головного екрану;

- ‘refreshAction’ – метод оновлення списку файлів;

- ‘logOut’– метод виходу з хмарних сховищ.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.