2025/09/03 2

Spring MVC

스프링 프레임워크 모듈 중 웹 계층을 담당하는 모듈 -> 서블릿 API를 기반으로 클라이언트의 요청을 처리하는 모듈 -> 이를 스프링 웹 MVC 라고 한다. 서블릿- 클라이언트의 요청을 처리하도록 특정 규약에 맞춰 Java 코드로 작성하는 클래스 파일- Apache Tomcat은 이러한 서블릿들이 웹애플리케이션으로 실행할 수 있도록 해주는 서블릿 컨테이너 중 하나임.- spring MVC 내부에서는 서블릿을 기반으로 웹애플리케이션을 동작하며, 스프링 부트는 기본적으로 아파치 톰캣이 내장되어 있. MVC (Model, View, Controller)- 애플리케이션을 개발할 때 사용하는 디자인 패턴- 개발 영역을 MVC로 구분하여 각 역할에 맞게 코드를 작성 Model- 클라이언트의 요청을 전달받으면 요청사..

Loosely coupled vs Tightly-coupled

Loosely coupled, Tightly-coupled 방식은 소프트웨어 컴포넌트들 간의 의존성(dependency) 정도를 설명하는 용어이다. 코드나 시스템의 유연성과 유지보수성에 직결되는 개념이다. Tightly-copled (강결합)- 한 모듈, 클래스가 다른 모듈, 클래스의 구체적인 구현(implementation)에 강하게 의존하는 상태- 코드 변경시 다른 모듈도 영향을 크게 받음- 재사용성이 낮음- 테스트하기 어렵고 확장이 힘들다.- 예시) Car는 Engine의 구체적인 구현에 직접 의존 -> Engine 바꾸려면 Car 코드도 수정해야 됨. Loosely Coupled (약결합)- 한 모듈, 클래스가 다른 모듈의 구체적인 구현 대신 인터페이스나 추상화에 의존하는 상태- 코드 변경 영향이..