[소공21]AOP

반응형

AOP

조인트포인트,포인트컷, 위빙, 링킹, 로깅, 보안, tx, 에러

SW개발을 핵심관심사항과 횡단관심사항으로 분리/개발/통합하여 모듈화를 극대화하는 개발방법

애플리케이션개발의 신속,유연,결함 최소화를 위해 중복 또는 예외적 영역을 하나로 모아 처리하여 효율성을 높이고 업무별 재코딩을 지양하는 프로그래밍 기법

'1.기존문제: 중복,지저분,생산성저,재활용저하,변화어려움  

2.크로스커팅관계:코드엉킴(tangling),코드분산(scattering)   

3.특징:중앙집중,단순,고유영역,개발속도,비캡슐화(핵심영역보다는 주변중심공통모듈해당),Aspect이용

-구성도:?  

4.주요구성:jointpoint(횡단관점이 삽입되어 실행가능한 위치,모듈호출이나 변수에 대한 값할당등의 결합점),pointcut(결합점중 선택된 핵심관심과 횡단관심의 직조지점/교차점,어떤 클래스의 어느 jointpoint사용결정 선택기능),advice(삽입동작코드),weaving(교차점을통해 어드바이스삽입과정, AOP지원 컴파일러사용하거나 실시간 목적코드변환방법),aspect(교차점,어드바이스작성단위, 클래스같은 프로그램단위로 사용)  

5.구성:기초개념(seperation of concerns, 핵심관심/횡단관심(로깅/보안/트랜잭션)        

-컴파일시 위빙, 클래스로딩시(바이너리), 런타임(프록시로 핵심로직 처리)  

6.종류:aspectJ,springAOP,JBossAOP  

7.AOP/OOP비교:목적(모듈극대화/객체재사용),구현물(aspect/class),장점(환경독립적/재사용),단점(구현난해/Cross-cutting개념없음)

-annotation, DI와 함께 POJO 3대기법

8.문제점: 표준부재, 학습어려움, OOP와 충돌

반응형

'T-prj > 1.SW공학' 카테고리의 다른 글

[소공22]프레임워크  (0) 2012.08.13
[소공20]MDA  (0) 2012.08.13
[소공19]SCRUM  (0) 2012.08.13

Top