Aspect Oriented Programming

FrontPage|FindPage|TitleIndex|RecentChanges| UserPreferences P RSS
{{|
  • Untangle your code into cross-cutting, loosely coupled aspects.
  • Avoid overspecification in your programs.|}}

어떤 개념일지 너무너무 궁금하네요. 쉽게 설명 좀 부탁드릴께요.
AOP의 이해를 위해서는 OOP와 Subject Oriented Programming, Adaptive Programming, Law of Demeter, Design By Contract 등에 대한 기본적 이해가 요구됩니다. 시간이 나는대로 하나하나 "쉽게"(혹성탐사대처럼) 설명해 보도록 하죠.

Aspect Oriented Software Development

Aspect-oriented software development is a new technology for separation of concerns (SOC) in software development. The techniques of AOSD make it possible to modularize crosscutting aspects of a system. --http://aosd.net

몇년전에 AOP에 대해서 관심이 많아 parc에 자주 들렀던 적이 있습니다. JavaLanguage를 이용해서 AOP implementation을 하는 프로젝트에 저도 메일링 리스트에 가입해서 피드백을 주고받았는데 지금은 어떻게 되어가는지 궁금하군요. 파워포인트 자료로 만든 talk이 있었는데 그게 aop개념 잡는데 많은 도움이 되었던 것 같습니다. 아마도 Kiczales 아저씨가 발표한 것으로 기억하고 있는데 위에 언급된 사이트 돌아다니면 있겠죠. Separation of Concerns는 AOP에서 처음 나오는 이야기가 아니고 수십년 전에 EdsgerDijkstra가 소프트웨어 설계에 대해 언급하면서 나온 것입니다. 대가의 통찰력은 강산이 몇 번 바뀌어도 새로운 것을 잉태시키는데 큰 역할을 하니 실로 놀라울 따름입니다.

AOP, IP, SOP등은 OOP의 대안이라기 보다는 보완적인 개념이라 생각이 듭니다. OOP를 기반으로 하지 않고서는 그 가치가 많이 약해지니까요. 아뭏튼 객체지향개념을 계속 공부하다 보면 OO 개념의 경계를 넘나드는 이러한 개념을 만나고, 신천지를 발견한 것 처럼 흥분되더군요. PLoPD(Program Languages of Program Design) 책들을 보면서 객체지향개념의 다양성을 느끼고 AOP등을 접하면서 발상의 전환과 보다 넓은 시야가 필요하다는 것을 절실히 느낍니다. --HappyFrog

AOP에 관해 나온 책 같은건 없나요?

[ISBN-0201309777]
2001/12/14일 현재, Krzysztof Czarnecki의 Generative Programming: Methods, Tools, and Applications이 제가 아는 한 유일합니다. 사실 이 책으로 AOP나 AP, IP, SOP 등의 소위 OOP 대안에 대한 전반적 논의가 학계에 퍼졌죠. 그런데, 이 책은 어렵습니다. OOP에 대한 깊은 이해가 필요합니다. --김창준

[ISBN-0262610744][ISBN-0262161362]
The Art of the Metaobject Protocol(aka AMOP) by Gregor Kiczales, Jim des Rivieres, and Daniel G. Bobrow. OI(Open Implementation), AOP 등의 원조격인 MOP에 대한 책입니다. OOP가 없는 CommonLisp에 MOP을 지원하는 OOP를 추가하는 예를 처음부터 끝까지 진지하게 보여줍니다. 실제로 Kiczales가 주축이 되어 만든 PCL은 공개 CommonLisp에서 CLOS(Common Lisp Object System)로 사용되고 있습니다.
Object Oriented Programming - The CLOS Perspective Edited by Andreas Paepcke. CLOS에 대한 다양한 논문들의 묶음으로, 역시 MOP에 대한 부분들을 많이 다룹니다. --LispM



AOP/AspectJ의 베스트셀러인 AspectJ in Action의 한글어판인 GangCom:[ISBN-200508170002]을 추천합니다. 개념과 또한 실세계의 예가 풍부히 수록되어 있어 공부나 업무 적용에 아주 좋은 책입니다. -- Joseph 2005-09-19

"; if (isset($options[timer])) print $menu.$banner."
".$options[timer]->Write()."
"; else print $menu.$banner."
".$timer; ?> # # ?>