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 |
Recent Comment