본문 바로가기
반응형

Java31

[Spring] AOP 프로그래밍(3) - 스프링에서의 프록시 생성 방식 AOP는 여러 객체에 공통으로 적용할 수 있는 기능을 분리해서 재사용성을 높여주는 프로그래밍 기법이다. 스프링에서는 프록시 객체를 자동으로 만들어 공통 기능을 삽입하는데, 이때 프록시 객체를 어떻게 만드는지 살펴보자. 스프링에서 프록시가 생성되는 방식 스프링은 AOP를 위한 프록시 객체를 생성할 때 빈 객체가 인터페이스를 상속한다면 해당 인터페이스를 이용해서 프록시를 생성한다. 아래 그림처럼 프록시와 빈 대상 클래스가 하나의 인터페이스를 상속받는 관계인 것이다. Calculator cal = ctx.getBean("calculator", Calculator.class); // 정상 동작 RecCalculator cal = ctx.getBean("calculator", RecCalculator.class).. 2021. 9. 1.
[Clean Code] 2. 함수 길이가 길고 중복이 많으며 괴상한 문자열과 낯설고 모호한 자료 유형 및 API로 이루어진 코드는 쉽게 이해하기 어렵다. 메서드 몇 개를 추출하고 이름 몇 개를 변경하고 구조를 조금 바꾸면 훨씬 이해하기 쉬운 코드가 된다. 이번 포스트에서는 함수를 잘 짜는 법에 대해 알아볼 것이다. 읽고 이해하기 쉬운 함수 만들기 다양한 규칙을 통해 길고 복잡한 함수를 짧고 이해하기 쉬운 함수로 만들어보자. 함수를 작게 만들어라 함수가 작을수록 더 좋다는 증거나 자료를 제시하기는 어렵지만 작은 함수가 좋다고 확신한다. 함수는 재사용 측면뿐 아니라 가독성 측면에서도 작은 단위로 나누는 것이 좋다. 그럼 함수는 얼마나 짧아야 할까? 일반적으로 함수가 한 화면을 넘어가면 안 된다. 요즘은 화면이 크기 때문에 글자가 많이 들어갈.. 2021. 8. 24.
[Spring] AOP 프로그래밍(2) - 스프링에서의 AOP AOP는 여러 객체에 공통으로 적용할 수 있는 기능을 분리해서 재사용성을 높여주는 프로그래밍 기법이다. 스프링에서는 프록시 객체를 자동으로 만들어주며 공통 기능을 삽입하는데, 여기서 공통 기능을 Aspect라고 한다. 따라서 공통 기능을 구현한 클래스만 알맞게 구현하면 된다. 스프링과 AOP 이전 포스트에서는 프록시의 개념과 AOP와의 관계에 대해 알아보았다. 이번 포스트에서는 스프링에서 실제로 AOP가 어떻게 적용되는지 알아볼 것이다. [Spring] AOP 프로그래밍(1) - 프록시와 AOP AOP는 여러 객체에 공통으로 적용할 수 있는 기능을 분리해서 재사용성을 높여주는 프로그래밍 기법이다. 핵심 기능에 공통 기능을 삽입하여 핵심 기능의 코드를 수정하지 않고도 공통 기능의 dct-wonjung.ti.. 2021. 8. 12.
[Spring] AOP 프로그래밍(1) - 프록시와 AOP AOP는 여러 객체에 공통으로 적용할 수 있는 기능을 분리해서 재사용성을 높여주는 프로그래밍 기법이다. 핵심 기능에 공통 기능을 삽입하여 핵심 기능의 코드를 수정하지 않고도 공통 기능의 구현을 추가할 수 있다. 스프링에서는 프록시 객체를 생성해서 공통 기능을 삽입한다. 프록시와 AOP의 관계 프록시(proxy)는 핵심 기능의 실행을 다른 객체에 위임하고 부가적인 기능을 제공하는 객체를 의미한다. 실제 핵심 기능을 실행하는 객체를 프록시의 대상 객체라고 부른다. 프록시는 핵심 기능을 구현하지 않는 것이 특징이다. 대신 여러 객체에 공통으로 적용할 수 있는 기능을 구현한다. AOP(Aspect Oriented Programming)는 여러 객체에 공통으로 적용할 수 있는 기능을 분리해서 재사용성을 높여주는 .. 2021. 8. 10.
반응형