2025/04 3

의존성 주입

1. 의존성 주입 패턴의 기본 개념정의:의존성 주입은 클래스가 스스로 필요한 의존 객체(서비스, 컴포넌트 등)를 생성하지 않고, 외부에서 주입받아 사용하는 디자인 패턴입니다. 이를 통해 객체 생성과 사용을 분리하여, 클래스 간 구체적 의존을 줄이고, 유연성과 테스트 용이성을 높일 수 있습니다.IoC(Inversion of Control):의존성 주입은 제어의 역전 원칙에 기반합니다. 즉, 객체의 생성과 의존성 관리의 책임을 애플리케이션 코드가 아니라 외부 컨테이너나 프레임워크가 맡습니다.2. 의존성 주입의 주요 방식2.1 생성자 주입설명:클래스의 생성자를 통해 필요한 의존성을 전달받습니다.장점:불변성을 보장하고, 클래스 생성 시 모든 필수 의존성이 명시됨변경 시에도 객체 생성 자체가 책임지므로, 안정성이..

디자인 패턴 2025.04.08

매트릭, 커네이선스, 트레이드 오프

1. 매트릭 (Metrics)정의 및 역할매트릭은 소프트웨어나 시스템의 여러 측면(품질, 성능, 복잡도 등)을 수치적 또는 정량적으로 평가하기 위한 지표입니다.코드 품질, 유지 보수성, 성능, 복잡도 등을 객관적으로 평가할 수 있도록 도와주며, 아키텍트는 이 데이터를 기반으로 설계 개선이나 리팩토링 결정을 내립니다.주요 종류 및 예시코드 복잡도 지표:Cyclomatic Complexity (순환 복잡도): 소스 코드 내 의사 결정 분기(조건문, 반복문 등)의 수를 측정하여, 코드의 복잡도를 평가합니다. 복잡도가 높으면 테스트와 유지 보수가 어려워질 수 있습니다.품질 및 결함 지표:버그 밀도: 릴리즈된 코드 내 버그의 수를 측정합니다.커버리지: 단위 테스트나 통합 테스트가 전체 코드의 몇 퍼센트를 검증하는..

아키텍처 2025.04.08