Please enable JavaScript.
Coggle requires JavaScript to display documents.
Spring, Слабосвязанный код - Coggle Diagram
Spring
Модульность
Core Container
-
-
Spring Context: расширяет функциональность Core, добавляя поддержку международализации, событий и конфигурации
Spring AOP (Aspect-Oriented Programming): позволяет реализовать аспекты (например, транзакции, логирование) и управление ими, разделяя бизнес-логику и кросс-функциональные задачи
-
Spring MVC: Модуль для разработки веб-приложений, основанный на паттерне Model-View-Controller. Обеспечивает маршрутизацию запросов, обработку форм и поддержку RESTful сервисов
Spring Security: Модуль для обеспечения безопасности приложений, включающий аутентификацию, авторизацию и защиту от распространенных угроз
Spring Boot: не является частью основного фреймворка Spring, но часто используется с ним. Упрощает настройку и развертывание приложений, предлагая "умные" настройки и встроенные серверы
Spring Cloud: Набор инструментов для разработки распределенных систем и микросервисов, обеспечивающий поддержку сервисов, конфигурации, обнаружения сервисов и других аспектов.
Spring Test: предоставляет средства для тестирования компонентов Spring-приложений, упрощая написание юнит- и интеграционных тестов
Инверсия управления. Spring управляет жизненным циклом объектов и их зависимостями, что упрощает тестирование и уменьшает связанность компонентов
Контейнер для внедрения зависимостей. позволяет легко управлять зависимостями между классами, что делает код более гибким и удобным для модульного тестирования
Работа с БД. Spring JDBC и Spring Data упрощают работу с базами данных, обеспечивая удобные средства для работы с ORM (Object-Relational Mapping) и запросами
Создание веб-приложений. Spring MVC — это модуль для разработки веб-приложений, который поддерживает паттерн проектирования MVC (Model-View-Controller)
Безопасность. Spring Security предоставляет мощные средства для защиты приложений, включая аутентификацию и авторизацию
Тестирование. Spring поддерживает создание тестов и предоставляет удобные инструменты для тестирования компонентов приложений.
Слабосвязанный код
Независимость компонентов. Слабосвязный код позволяет изменять, тестировать и развивать отдельные компоненты без необходимости вносить изменения в другие части системы. Это упрощает сопровождение и расширение приложения
Упрощение тестирования: - Из-за низкой связанности компонентов их легче тестировать в изоляции. Это особенно полезно для модульного тестирования, так как можно подменять зависимости на моки или стаб
Повторное использование кода: - Компоненты, которые слабо связаны, легче переиспользовать в других проектах или частях приложения, так как они не зависят от специфики других модулей
Гибкость и адаптивность: - Слабосвязный код легче адаптировать к изменениям в требованиях. Если необходимо заменить или обновить компонент, это можно сделать с минимальными усилиями, не затрагивая остальную часть системы.
Четкое разделение обязанностей:Слабосвязный код обычно следует принципам SOLID и паттернам проектирования, таким как MVC (Model-View-Controller), что способствует лучшему разделению обязанностей между компонентами