관점 지향 프로그래밍(AOP)
·
WEB/BackEnd
🤷♂️ 관점 지향 프로그래밍(AOP)란 무엇인가?개발을 하다 보면 종종 핵심 비즈니스 로직과 직접적인 관련은 없지만, 꼭 필요한 부가 기능들을 마주하게 됩니다.예를 들어, 모든 기능에 로그를 남기거나, 트랜잭션을 처리하고, 보안 검사를 수행하는 등의 작업들이있습니다.이러한 부가 기능들은 애플리케이션 전반에 걸쳐 반복적으로 나타나기 때문에 코드를 복잡하게 만들고, 유지보수를 어렵게 만드는 원인이 되기도 합니다. 이 문제를 해결해 주는것이 관점 지향 프로그래밍(AOP)입니다.AOP를 한마디로 정의하자면 '핵심 비즈니스 로직'과 '부가 기능'을 분리해서 개발하는 것입니다.비지니스 로직 vs 부가기능비즈니스 로직(Core Concern): 사용자가 원하는 실제적인 기능(예: 게시글 등록, 상품 주문 등)부가..