2024/06 14

AOP

AOP (Aspect Oriented Programming) 관점지향 프로그래밍MVC 웹 어플리케이션에서는 Web Layer, Business Layer, Data Layer 로 정의Web Layer: REST API 제공, Client 중심의 로직 적용Business Layer: 내부 정책에 따른 logic 개발, 주로 해당 부분을 개발Data Layer: 데이터베이스 및 외부와의 연동 처리  주요 Annotation   횡단 관심AOP 는 메소드들 또는 특정 구역에 반복되는 로직들을 한 곳으로 몰아서 코딩을 할 수 있게 해줌 공통적인 기능들 로그통신메서드 실행 시간 확인인코딩, 암호화 기능  예제   - 메서드 실행 시 argument와 return 값에 대한 추적 log          - 메서드 ..

IoC / DI

IoC / DI IoC (Inversion of Control)Java 객체를 new 로 생성해 개발자가 관리하는 것이 아닌 Spring Container 에 모두 맡김 (싱글톤 형태로 관리됨)프레임워크로 제어의 객체 관리의 권한이 넘어감, '제어의 역전' 이라고 함 DI (Dependency Injection)장점의존성으로부터 격리시켜 테스트에 용이함DI 를 통해 불가능한 상황을 Mock 과 같은 기술을 통해 안정적인 테스트 가능코드를 확장하거나 변경 할 때 영향을 최소화함 (추상화)순환참조를 막을 수 있음  예제 - 자바       - 스프링   - IEncoder 는 같음                   feat. 패스트캠퍼스 - Java/Spring 웹 개발 마스터 초격차