'AOP'에 해당되는 글 1건

  1. 2007/04/05 글뻥 "OOP를 넘어 AOP로"에 대한 단상...
MIT에서 선정한 앞으로 미래를 주도할  10가지 기술중에 하나가 AOP (Aspect Oriented Programming)라고 하는 넘이 있다.

어느 머리 좋은분이 여기에다가 "관점지향프로그래밍"이라고 가져다 붙였는데 사실 AOP자체가 OOP를 보완발전시키기 위해 나온개념이다보디 "객체지향~어쩌구"를 "관점~어쩌구로"싹 바꿔버린 번역 되겠다.

AOP라고 하는것이 그리 대단한것이 아니다.

"Object"로 쪼게고 쪼게다 보니 Object와 Object의 공통모듈을 따로 만들어 호출해야 했다.

가령 공통모듈 속에 있는 "excute()"라는 메소드를 모든 객체에서 실행해야 한다고 치자.
이경우 기존에는 A객체, B객체, C객체 등등등 에서 상속을 받던가 위임하여 실행하여야만 했다.
그러다가 "execute()"메소드 속성이 변경되거나 하면 그야말로 끔찍하게도 모든 객체를 다 열어서 수정해줘야만 했다.
이러면서 듣는소리는 "그러길레 설계를 첨부터 잘하지" 라던가...
"야야~~ 봐봐 내가 시킨대로 짜지 왜 삽질해?"라던가...
속으로 "아18 니미~~~" 등등등 온갖 혼잦말과 잔소리를 들어야 했지만 AOP개념이 탑재된 똑똑한 프레임워크 위에서라면 이런 걱정 안하고 코딩해도 된다는 이야기!
그게 AOP이다.

다시말해 AOP개념이 탑재된 프레임워크는 이러한 공통모듈을 Joint Point(접합점)을 호출만하면 알아서 공통모듈 인터페이스를 만들어주고 알아서 다 실행해준다.

결론적으로 AOP는 일반 프로그래머가 공통모듈에 신경쓰지 않고 주어진 목적(Object)에만 전념할 수 있는 환경을 만들어 준다는 개념이라는 것이다.

프로그래머들이여~ 우리보다 똑똑한 프레임워크 만드는 사람에게 이런것 고민하라고 하고 우리는 그냥 도사들이 만들어준 편리한 환경에서 코딩이나 하자 ^^

* 참고 사이트
MSDN : http://www.microsoft.com/korea/msdn/li ··· cle.aspx
.NET 스프링 프레임워크 : http://www.springframework.net/
자바 스프링 프레임워크 : http://www.springframework.org/

2007/04/05 13:51 2007/04/05 13:51