Студопедия Главная Случайная страница Обратная связь

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

Методологические антипаттерны.





§ Программирование методом копирования-вставки (Copy and paste programming) ‑ копирование (и лёгкая модификация) существующего кода вместо создания общих решений. Симптом этого антипаттерна: после внесения изменений программа в некоторых случаях ведёт себя также, как и раньше. Для устранения антипаттерна требуется выделить повторяющийся код в отдельный метод.

§ Дефакторинг (De-Factoring) ‑ процесс уничтожения функциональности и замены её документацией.

§ Золотой молоток (Golden hammer) ‑ сильная уверенность в том, что любимое решение универсально применимо. Название происходит от английской поговорки «когда в руках молоток, все проблемы кажутся гвоздями».

§ Фактор невероятности (Improbability factor) ‑ предположение о невозможности того, что сработает известная ошибка.

§ Преждевременная оптимизация (Premature optimization) ‑ оптимизация на основе недостаточной информации.

§ Изобретение колеса (Reinventing the wheel) ‑ ошибка адаптации существующего решения.

§ Изобретение квадратного колеса (Reinventing the square wheel) ‑ создание плохого решения, когда существует хорошее.

3.14. АРХИТЕКТУРА ПРОГРаммного Обеспечения

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

Набор принципов, используемых в архитектуре, формирует архитектурный стиль. Применение архитектурного стиля сродни употреблению шаблона проектирования, но не на уровне компонента (модуля или класса), а на уровне всей создаваемой системы ПО. Как и шаблоны проектирования, архитектурные стили упрощают коммуникацию разработчиков и предлагают готовые решения целого класса абстрактных проблем. В таблице 2 представлено короткое описание основных архитектурных стилей.

Таблица 2

Основные архитектурные стили

Архитектурный стиль Описание
Клиент-сервер Разделение системы на два приложения – клиент и сервер. При работе клиент посылает запросы на обслуживание серверу
Архитектура, основанная на использовании компонентов Разделение системы на компоненты, которые могут быть повторно использованы и не зависят друг от друга. Каждый компонент снабжается известным интерфейсом для коммуникаций
Многоуровневая архитектура Разделение функций приложения на группы (уровни), которые организованы в виде стекового набора.
Шина сообщений Система, которая может посылать и передавать информационные сообщения в определенном формате по общему коммуникационному каналу. Благодаря этому организуется взаимодействие систем без указаний конкретных получателей сообщений
N-звеньевая/3-звеньевая архитектура Разделение функций подобно архитектуре, основанной на уровнях. Однако группировка происходит не только на логическом, но и на физическом уровне – отдельным группам соответствует отдельный компьютер (сервер, кластер)
Объектно-ориентированная архитектура Представление системы в виде набора взаимодействующих объектов
Выделенное представление Выделение в системе отдельных групп функций для взаимодействия с пользователями и обработки данных
Архитектура, ориентированная на сервисы Каждый компонент системы представлен в виде независимого сервиса, предоставляющего свои функции по стандартному протоколу

Важно понимать, что стили не исключают совместное применение, особенно при проектировании сложных систем. По сути, архитектурные стили допускают группировку согласно направлению решаемых ими задач. Например, «шина сообщений» и «архитектура, ориентированная на сервисы» ‑ это коммуникационные стили (т.е. их задача – способ организации коммуникации между отдельными компонентами). Далее отдельные архитектурные стили будут рассмотрены подробнее.

«Клиент-сервер»

Архитектурный стиль «клиент-сервер» (client/server) описывает отношение между двумя компьютерными программами, в котором одна программа – клиент – выполняет запросы к другой программе – серверу. Этот стиль решает, в основном, задачу развёртывания приложения. На модели «клиент-сервер» созданы приложения для работы с базами данных, электронной почтой и для доступа к веб-ресурсам.

Принципы данного архитектурного стиля:

· Клиент инициирует один или несколько запросов, ожидает ответа на них и затем обрабатывает ответы.

· В определенный момент времени клиент подключен к одному серверу для обработки запросов (реже – к небольшой группе серверов).

· Клиент работает с пользователем напрямую, обычно используя графический интерфейс.

· Сервер не инициирует запросов.

· Обычно для выполнения запросов клиенты проходят аутентификацию на сервере.

Главными преимуществами стиля «клиент-сервер» являются:

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

§ Централизованный доступ к данным. Так как данные хранятся только на сервере, ими легко управлять (например, обеспечить обновление).

§ Легкость сопровождения. Роль сервера могут выполнять несколько физических компьютеров, объединенных в сеть. Благодаря этому клиент не замечает сбоев или замены отдельного серверного компьютера.

Отметим некоторые вариации стиля «клиент-сервер». В системах клиент-очередь-клиент сервер исполняет роль очереди для данных клиентов. То есть, клиенты использую сервер для обмена данными между собой. Пиринговые приложения (peer-to-peer) – это вариант системы «клиент-очередь-клиент», в котором любой клиент может играть роль сервера. Сервера приложений служат для размещения и выполнения программ, которыми управляет клиент.







Дата добавления: 2015-09-15; просмотров: 654. Нарушение авторских прав; Мы поможем в написании вашей работы!




Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...


Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...


Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...


Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Сущность, виды и функции маркетинга персонала Перснал-маркетинг является новым понятием. В мировой практике маркетинга и управления персоналом он выделился в отдельное направление лишь в начале 90-х гг.XX века...

Разработка товарной и ценовой стратегии фирмы на российском рынке хлебопродуктов В начале 1994 г. английская фирма МОНО совместно с бельгийской ПЮРАТОС приняла решение о начале совместного проекта на российском рынке. Эти фирмы ведут деятельность в сопредельных сферах производства хлебопродуктов. МОНО – крупнейший в Великобритании...

ОПРЕДЕЛЕНИЕ ЦЕНТРА ТЯЖЕСТИ ПЛОСКОЙ ФИГУРЫ Сила, с которой тело притягивается к Земле, называется силой тяжести...

Хронометражно-табличная методика определения суточного расхода энергии студента Цель: познакомиться с хронометражно-табличным методом опреде­ления суточного расхода энергии...

ОЧАГОВЫЕ ТЕНИ В ЛЕГКОМ Очаговыми легочными инфильтратами проявляют себя различные по этиологии заболевания, в основе которых лежит бронхо-нодулярный процесс, который при рентгенологическом исследовании дает очагового характера тень, размерами не более 1 см в диаметре...

Примеры решения типовых задач. Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2   Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2. Найдите константу диссоциации кислоты и значение рК. Решение. Подставим данные задачи в уравнение закона разбавления К = a2См/(1 –a) =...

Studopedia.info - Студопедия - 2014-2025 год . (0.009 сек.) русская версия | украинская версия