История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
Топ:
Установка замедленного коксования: Чем выше температура и ниже давление, тем место разрыва углеродной цепи всё больше смещается к её концу и значительно возрастает...
Комплексной системы оценки состояния охраны труда на производственном объекте (КСОТ-П): Цели и задачи Комплексной системы оценки состояния охраны труда и определению факторов рисков по охране труда...
Эволюция кровеносной системы позвоночных животных: Биологическая эволюция – необратимый процесс исторического развития живой природы...
Интересное:
Влияние предпринимательской среды на эффективное функционирование предприятия: Предпринимательская среда – это совокупность внешних и внутренних факторов, оказывающих влияние на функционирование фирмы...
Финансовый рынок и его значение в управлении денежными потоками на современном этапе: любому предприятию для расширения производства и увеличения прибыли нужны...
Наиболее распространенные виды рака: Раковая опухоль — это самостоятельное новообразование, которое может возникнуть и от повышенного давления...
Дисциплины:
2020-11-03 | 193 |
5.00
из
|
Заказать работу |
|
|
Архитектура ПО – набор ключевых правил, определяющих организацию системы:
Сложная программная система должна быть разделена на небольшие подсистемы, каждую из которых можно разрабатывать независимо (в какой-то степени) от других.
Структура ПО должна удовлетворять следующим требованиям:
Декомпозиция является главным способом преодоления сложности разработки ПО. Принципы декомпозиции:
Подходы к декомпозиции:
функционально-модульный – описывается в терминах иерархии ее функций и иерархии структур данных;
объектно-ориентированный – описывается в терминах объектов и связей между ними, а поведение описывается в терминах обмена сообщениями между объектами.
Основные принципы проектирования
Разделение функций. Разделите приложение на отдельные компоненты с, по возможности, минимальным перекрытием функциональности. Важным фактором является предельное уменьшение количества точек соприкосновения, что обеспечит high cohesion и low coupling.
Принцип единственности ответственности. Каждый компонент или модуль должен отвечать только за одно свойство/функцию или совокупность связанных функций.
|
Принцип минимального знания (также известный как Закон Деметера (Law of Demeter, LoD)). Компоненту или объекту не должны быть известны внутренние детали других компонентов.
Не повторяйтесь (Don’t repeat yourself, DRY). Определенная функциональность должна быть реализована только в одном компоненте и не должна дублироваться ни в одном другом компоненте.
Минимизируйте проектирование наперед (big design upfront, BDUF). Проектируйте только то, что необходимо. Этот принцип называют YAGNI («You ain’t gonna need it»).
OCP: Open/Closed Principle (принцип открытия/закрытия) объекты проектирования (классы, функции, модули и т.д.) должны быть открыты для расширения, но закрыты для модификации.
LSP: Liskov Substitution Principle (принцип замещения Лисков) Функции, которые используют ссылки на базовые классы, должны иметь возможность использовать объекты производных классов, не зная об этом.
ISP: Interface Segregation Principle (принцип изоляции интерфейса) Клиент не должен вынужденно зависеть от элементов интерфейса, которые он не использует. Другими словами этот принцип можно сформулировать так: зависимость между классами должна быть ограничена как можно более узким интерфейсом.
DIP: Dependency Inversion Principle (принцип обращения зависимости) Модули верхних уровней не должны зависеть от модулей нижних уровней. Оба типа модулей должны зависеть от абстракций. Абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций.
Определенные выходные данные в результате обработки определенных входных данных, применяется многократно, одинаково к любым данным на входе.
Обработка организуется в виде набора отдельных компонентов-обработчиков, передающих свои результаты на вход другим обработчикам.
Подвиды data flow
Пакетная обработка (batch sequential) единственный вывод производится на основе одного набора данных на входе, промежуточные преобразования организуются в виде последовательности.
Каналы и фильтры (pipe - and - filter) преобразование непрерывных потоков данных. Следующее преобразование может быть начато до окончания предыдущего. Возможность добавления дополнительных преобразований.
|
Замкнутый цикл управления (closed - loop control) обработка постоянно непредсказуемо поступающих событий. Общий диспетчер событий классифицирует и отдает событие его на асинхронную обработку.
|
|
Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...
Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...
Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!