Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LECTIONS_TPSPP!!!.doc
Скачиваний:
21
Добавлен:
16.12.2018
Размер:
1.41 Mб
Скачать

Шаблон «Одинак» (Singleton)

Назва та класифікація

Одинак — шаблон, що породжує об’єкти.

Призначення

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

Підстави для застосування

1. Повинен бути рівно один екземпляр деякого класу, легко доступний для всіх клієнтів.

2. Єдиний екземпляр може розширюватися шляхом породження підкласів, і клієнтам потрібно мати можливість працювати з розширеним екземпляром без модифікації коду.

Структура

Учасники

1. Singleton — одинак.

- Визначає операцію Instance, яка дозволяє клієнтам отримувати доступ до єдиного екземпляру.

- Може нести відповідальність за створення власного унікального екземпляру.

Відношення

Клієнти отримують доступ до екземпляру класу Singleton тільки через його операцію Instance.

Результати

1. (+) Контрольований доступ до єдиного екземпляру.

2. (+) Зменшення кількості імен змінних.

3. (+) Допускає уточнення операцій та представлення — від класу Singleton можна породжувати підкласи, а програму легко сконфігурувати екземпляром розширеного класу.

4. (+) Допускає адаптацію класу під змінну кількість екземплярів (не обов’язково 1).

5. (+) Більша гнучкість, ніж у звичайних статичних методів класу.

Лекція 14. Технологія клієнт – сервер.

Технологія клієнт - сервер, яка широко застосовується при роботі з базами даних в мережі, відома вже давно і найчастіше застосовувалась у великих організаціях. Сьогодні, з розвитком INTERNET, ця технологія все частіше приваблює погляди розробників програмного забезпечення, оскільки в світі нагромаджено величезну кількість інформації по різноманітних питаннях і найчастіше ця інформація зберігається в базах даних. Технологію клієнт - сервер можна описати наступним алгоритмом:

· клієнт формує і посилає запит до бази даних серверу, вірніше - до програми, яка обробляє запити;

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

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

Стандартне програмне забезпечення, що реалізує технологію клієнт – сервер, має хорошу масштабованість (ефективне використання нарощеного апаратного забезпечення), стійкість в роботі, захист від несанкціонованого доступу і потужність при роботі з великими проектами в галузі баз даних.

Рисунок 2. Основні складові технології клієнт-сервер

Рисунок 3. Принцип роботи технології клієнт-сервер

На рисунку 10 показано, як працює технологія клієнт - сервер в загальному випадку під’єднання до глобальної комп’ютерної мережі. Конкретно все залежить від того, де знаходиться клієнт та сервер, і як клієнт під’єднаний до серверу. Користувач на клієнтському комп’ютері в програмі перегляду заповнює запропоновану форму або вибирає подальшу дію. Броузер (програма пошуку) по натиску однієї з кнопок на формі пересилає дані із заповненої форми або відображає заново отримані в результаті деякої операції. Не важливо, до якої з мереж під’єднаний клієнт. Він навіть може бути віддаленим користувачем і з’єднуватися по модему. Програма приймає дані, перевіряє їх і формує запит до монітора баз даних або отримує від нього результат. Отримавши запит, монітор опрацьовує його і тоді, якщо не сталося помилок обробляє і відправляє потрібні дані програмі. На диску сервера зберігається база даних, що модифікується по запиту клієнта. При такому режимі роботи забезпечується високий рівень безпеки бази даних як від збоїв обладнання і програм, так і від несанкціонованого доступу, висока продуктивність, навантаження на мережу падають, але зростають вимоги до серверу.

Лекція 15-16. Технологія компонентного програмування.

Технологія програмування CORBA.

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]