AOP와 PSA란?

김용빈·2022년 7월 26일
0

OOP(Object Oriented Programmig)란 객체 지향 프로그래밍 즉, 객체 간의 관계를 지향하는 프로그래밍

  • 그러면 AOP란 무엇일까?

    OOP(Object Oriented Programmig)란 객체 지향 프로그래밍 즉, 객체 간의 관계를 지향하는 프로그래밍

애플리케이션을 개발하다보면 애플리케이션 전반에 걸쳐 공통적으로 사용되는 기능들이 있기 마련인데, 이러한 공통 기능들에 대한 관심사를 바로 공통 관심 사항이라 한다.

책서점 주인은 책을 주문하고 구매하는것이 핵심 관심사항이지만, 책 어플리케이션에 누구나 접속하지 못하도록 제한하는것은 애플리케이션 보안에 대한 부분이기에 애플리케이션 전반에 공통적으로 적용되는 기능이므로 공통 관심 사항에 해당한다.

즉 AOP란 AOP라는 것은 애플리케이션의 핵심 업무 로직에서 로깅이나 보안, 트랜잭션 같은 공통 기능 로직들을 분리하는 것

왜 AOP가 필요할까? 그냥 같이하면안될까 ?

  • 애플리케이션의 핵심 로직에 공통적인 기능의 코드들이 여기 저기 보이면 코드 자체가 복잡해져 유지 보수도 어려워짐

PSA(Portable Service Abstraction)란?

추상화 된 상위 클래스를 일관되게 바라보며 하위 클래스의 기능을 사용하는 것이 바로 일관된 서비스 추상화하는 것

PSA가 필요한 이유

  • 어떤 서비스를 이용하기 위한 접근 방식을 일관된 방식으로 유지함으로써 애플리케이션에서 사용하는 기술이 변경되더라도 최소한의 변경만으로 변경된 요구 사항을 반영하기 위함,

즉, PSA를 통해서 애플리케이션의 요구 사항 변경에 유연하게 대처

profile
안녕하세요!

0개의 댓글