728x90
반응형
728x90
반응형
AOP (Aspect Oriented Programming) 관점 지향 프로그래밍 흩어진 Aspect를 모듈화할 수 있는 프로그래밍 기법이다. 동일한 색상의 선을 중복되는 메서드 & 필드 & 코드라고 가정할 때, 여러 클래스에 반복되서 사용 되기 때문에 흩어진 관심사(Crosscutting Concerns)이라 부른다. 그리고 흩어진 관심사를 Aspect로 모듈화하고 핵심적인 비즈니스 로직에서 분리하여 재사용하는 것이 AOP다. Interceptor, Filter도 일종의 AOP이다. 또한, 중복되는 주황색 부분의 수정이 생기면 A, B, C 클래스 모두 수정을 해야 한다. 이는 SOLID 원칙 중 SRP(Single Responsibility Programming)에 위반된다. Spring AOP 스프..
Spring in Action (5판) 스프링 5의 강력한 기능과 생산성을 활용한 웹 애플리케이션 개발 Walls, Craig 지음 제어펍 출판사 2020.05.14 스프링 인 액션 개인 스터디 내용을 정리하자. Spring AOP Spring AOP는 프록시 패턴으로 AOP 기능을 한다. 프록시 패턴을 사용하면 기능 추가 시 기존 코드를 변경하지 않는 장점이 있다. 어떤 클래스가 Spring AOP의 대상이라면 기존 클래스의 빈이 생성될 때 Spring AOP가 프록시를 자동으로 만들고 원본 클래스 대신 프록시를 빈으로 등록한다. 그리고 원본 클래스가 사용되는 지점에서 프록시를 대신 사용한다. Spring AOP에 대한 자세한 내용을 아래를 참조하자. hoooon-s.tistory.com/54?cate..
Spring in Action (5판) 스프링 5의 강력한 기능과 생산성을 활용한 웹 애플리케이션 개발 Walls, Craig 지음 제어펍 출판사 2020.05.14 스프링 인 액션 개인 스터디 내용을 정리하자. AOP Aspect Oriented Programming 관점 지향 프로그래밍 어떤 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 나누어 모듈화 하는 것이다. OOP를 보완하는 수단으로, 흩어진 Aspect를 모듈화하여 비즈니스 로직을 헤치지 않고 재사용하는 기법이다. 위와 같이 흩어진 관심사를 Aspect로 모듈화하고 핵심적인 비즈니스 로직에서 분리하여 재사용하는 것이 AOP의 목적이다. Aspect 애플리케이션 내 흩어져 있는 코드/기능, 비즈니스 로직은 아니다. 여러 객체에 공통적으로 ..