Чек-лист самопроверки
Чек-лист самопроверки
- В чём заключается основная цель проектирования программного обеспечения?
- Какие принципы лежат в основе компонентной архитектуры при создании систем?
- Как происходит декомпозиция монолитного приложения на отдельные части?
- Что такое доменная модель и как она отражает предметную область?
- Какие существуют виды архитектурных стилей для построения систем?
- Какова роль инфраструктуры как фактора, влияющего на выбор архитектуры?
- Какие типы классов используются при конструировании программных систем?
- Как применяются паттерны проектирования для решения типовых задач разработки?
- В чём разница между порождающими, структурными и поведенческими паттернами?
- Какие архитектурные паттерны обеспечивают масштабируемость параллелизма?
- Как реализовать принцип единственной ответственности (Single Responsibility Principle)?
- Что означает принцип открытости/закрытости в контексте разработки кода?
- Как работает принцип подстановки Барбары Лисков при наследовании?
- Какие преимущества даёт принцип разделения интерфейсов перед единым интерфейсом?
- Как применяется принцип инверсии зависимостей для снижения связанности модулей?
- В чём суть паттерна Фабрика и когда его целесообразно использовать?
- Как работает паттерн Абстрактная фабрика для создания семейств объектов?
- Когда следует применять паттерн Прототип для клонирования объектов?
- Как реализован паттерн Строитель для пошагового создания сложных объектов?
- Что представляет собой паттерн Одиночка и какие риски он несёт?
- Как работает паттерн Мост для отделения абстракции от реализации?
- В чём отличие паттерна Адаптер от паттерна Декоратор?
- Как использовать паттерн Команда для инкапсуляции запросов как объектов?
- Какие возможности предоставляет паттерн Наблюдатель для подписки на события?
- Как реализуется паттерн Стратегия для выбора алгоритма во время выполнения?
- Что такое паттерн Шаблонный метод и как он организует структуру алгоритма?
- В чём суть паттерна Компоновщик для работы с древовидными структурами?
- Как работает паттерн Посредник для уменьшения связей между компонентами?
- Какие задачи решает паттерн Цепочка обязанностей при обработке запросов?
- Как применяется паттерн Хранитель для сохранения и восстановления состояния объекта?
- В чём особенность паттерна Итератор для обхода коллекций без раскрытия их структуры?
- Как работает паттерн Мemento для возврата состояния к предыдущему моменту?
- Что такое паттерн Состояние для изменения поведения объекта при смене состояния?
- Как используется паттерн Визитер для добавления новых операций к элементам структуры?
- Какие архитектурные паттерны применимы для построения микросервисных систем?
- Как реализовать паттерн CQRS для разделения операций чтения и записи данных?
- В чём суть подхода Event Sourcing для хранения истории всех изменений состояния?
- Как работает паттерн Saga для управления распределёнными транзакциями?
- Что представляет собой паттерн Strangler Fig при постепенной модернизации легаси-систем?
- Как применяется паттерн Competing Consumer для обработки сообщений в очереди?
- В чём смысл использования Read Replicas для масштабирования чтения базы данных?
- Как работает архитектура Shared Nothing при горизонтальном масштабировании?
- Какие особенности имеет архитектура Shared Storage для общих хранилищ?
- В чём разница между вертикальным и горизонтальным масштабированием системы?
- Как обеспечить надёжность и доступность сервиса на разных уровнях SLA?
- Что такое инженерия устойчивости и какие методы она включает?
- Как реализовать стратегии балансировки нагрузки между узлами системы?
- В чём суть модели Ричардсона для уровней развития API?
- Как спроектировать систему с использованием событийно-ориентированной архитектуры?
- Какие критерии позволяют выбрать между монолитом и набором микросервисов?
См. также
Другие статьи этого же раздела в боковом меню (как на странице «О разделе»). 44 элемента 8 элементов Архитектура программного обеспечения — это совокупность стратегических решений, определяющих основные структурные элементы системы, их взаимосвязи, а также принципы, по которым эти элементы… Архитектурные решения, касающиеся распределения компонентов и организации их взаимодействия, определяют фундаментальные свойства системы — её масштабируемость, отказоустойчивость, сложность… Это достигается через инверсию зависимостей — принцип, согласно которому высокоуровневые модули не должны зависеть от низкоуровневых; оба должны зависеть от абстракций. Архитектурные стили — это… Почему это важно — Согласованность версий. Если модуль PaymentCore используется в трёх сервисах, и в нём исправлен баг, все три сервиса должны обновиться до одной и той же версии. Без пакетного… Декомпозиция — это многолетний процесс. Успешные примеры (например, Netflix, Amazon) заняли годы. Инфраструктура — это множество решений, инкапсулированных в сервисы, каждое из которых накладывает ограничения и открывает возможности. Архитектор, игнорирующий инфраструктурный контекст, проектирует… Имена классов — это сигналы. Они несут семантическую нагрузку. Название UserLoginHandler сразу сообщает разработчику, что перед ним класс, отвечающий за обработку события входа пользователя, а не за… Проектирование программного обеспечения начинается с формирования мысленной и графической модели системы — её структуры, связей, ответственностей и границ. Класс в объектно-ориентированном… Доменная модель — это концептуальная конструкция, которая отражает структуру и поведение реального мира в рамках программного обеспечения. Она формируется из глубокого понимания предметной области,… Паттерны проектирования — это уже конкретные реализации указанных принципов на уровне классов, объектов и их взаимодействий. Паттерн отвечает на вопрос — А как реализовать инверсию зависимостей в…Проектирование
Паттерны проектирования
Основы проектирования и архитектуры программного обеспечения
Архитектурные стили и их применение
Стили внутренней организации кода
Принципы компонентно-ориентированной архитектуры
Стратегии декомпозиции монолитных систем
Влияние инфраструктуры на архитектурные решения
Классификация типов классов в объектно-ориентированном проектировании
Построение систем на основе классов и объектов
Доменная модель
Паттерны проектирования