Студопедия — Методологические антипаттерны.
Студопедия Главная Случайная страница Обратная связь

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

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






§ Программирование методом копирования-вставки (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; просмотров: 623. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

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

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

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

Тема 5. Организационная структура управления гостиницей 1. Виды организационно – управленческих структур. 2. Организационно – управленческая структура современного ТГК...

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

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

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

БИОХИМИЯ ТКАНЕЙ ЗУБА В составе зуба выделяют минерализованные и неминерализованные ткани...

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

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