반응형

2025/06/20 2

12. 모듈화 및 계층 분리

모듈화와 계층 분리의 필요성소프트웨어 복잡성 증가와 유지보수의 어려움현황: 프로젝트 규모 증가 및 기능 다양화로 인한 소프트웨어 복잡성 증대주요 문제점:스파게티 코드 (Spaghetti Code):코드 흐름 파악 난해, 기능 간 복잡한 얽힘 발생예상치 못한 사이드 이펙트 발생 가능성 증가강한 결합도 (High Coupling):모듈/컴포넌트 간 과도한 의존성 발생특정 부분 변경 시 연쇄적인 수정 필요결과:변경 용이성 저하: 기능 추가/수정 시 높은 비용과 시간 소요테스트 어려움: 단위 테스트의 어려움, 통합 테스트 복잡성 증가협업 비효율성: 코드 충돌 빈번, 병행 개발 난이도 상승궁극적으로 소프트웨어 품질 저하, 개발 비용 증가, 프로젝트 일정 지연 초래모듈화 및 계층 분리의 목표핵심 원칙: 관심사 분리..

개발/Web-Backend 2025.06.20

11. 의존성 주입 & IoC

의존성 주입(Dependency Injection)의 개념의존성(Dependency)의 의미객체 지향 프로그래밍에서 클래스나 모듈 간의 관계를 의미한 클래스가 다른 클래스에 의존한다는 것은 해당 클래스가 다른 클래스의 인스턴스나 메서드를 사용한다는 것을 의미클래스 간의 결합도를 나타내는 중요한 요소의존성 주입의 정의의존성 주입은 객체 지향 프로그래밍에서 의존하는 객체를 직접 생성하거나 관리하지 않고 외부에서 주입받는 것을 의미즉, 의존성을 클래스 내부에서 생성하거나 결정하지 않고, 외부에서 주입받아 사용하는 방식public class OrderService { private final PaymentService paymentService; // 결제 서비스에 대한 의존성을 가지고 있다. pub..

개발/Web-Backend 2025.06.20