| | | |

AOP??

??

?AOP

?õ???????k?????g?????K???
????
????ttg?g?h?????????¼?¼
?40??ô???I??h????L??????????g??jj???40lC?,??????l????????
??????h??"?g???g? ?¼?JZ?g
?????????crosscuttingconcern???g?j??'ù???J????g??????g????????g
?i?AspectOrientedProgrammingAOP??AOP??h??L???????????????g??Aspect???????g???Aspect??Aspect
??AOP?L?????hOOP????kh?generalizationspecialization???????AOP????g?DecoratorRole Object???
h??????????????gXerox PARC?hAOP?AsPectJ ?h????????Java???J??Java?AspectJ?Java??AspectJ?hIDE???JbuilderForteJava????AOPAspectJ?http//www.aspectj.org??
??AOP??L?S????l?£?????RUP?Ivar Jacobson????AOP???AOP?ik???????

AOP?

h?(concern)h??,h?????L??h???h?jL???L????hÿ??lL??/???L????????????crosscutting concerns?g??'?i????g?'??o????
AOP?õ???????g?l???
?????????hAOP??g
??
????S?'ü??L????û??h???????'??????????????h??L???Ÿ?????"?li??OOP'????h?Kj????¡????????????j¸i??
????k?ÿhµk?hµk?k?a???ÿµk?'ô?????????k??????????????????????
???OOPi????OOP?h???????OOP??õ????gg??£AOP?????????h_
??h?
??h???????gh????L?????????????????L?????????1???g??h?h??


?2h?L??????ÿ??


?h????µ???g????????h??gh?g???h???ð????????????ÿh??????????????
h???h??????
public class SomeBusinessClass extends
otherBusinessClass{
//??
//?????i??
//?k
public void performSomeOperation
(OperationInformation info)
//??
//???
//??????
//????
//¼'??
//???
//¼?
//
}
//h??
public void save(PersitanceStorage ps){
}
public void save(PersitanceStorage ps){
}
}
J???????lL???performSomeOperation()???£?????????h????????saveload????û???l?g
??
????g?jl'h?k???????h????h???g????????e???????hn??????h??????????

õj??????õgh????°???
????g????????????????????????????
??????g????ñ??g?h'????????g??´??

???J??????
????????g?????'ù???K???
????????????????
?? hg?????????'øg?h??
??J?????????????L?ò??L?
?????????j??µ´????g?g????g????????h£h?g?????bug
j
??????????h?g???????g??L?
'û??????h?????????hlogger???logger?õ???logger??'l??????£??l????????j????J?
?g?VisitorTemplate Methodg???????h?ovisitortemplate Method????
?L???÷øg?k??????E J BEnterprise JavaBean????????ûcontainer-managed persistence????B e a n????£???????£ûXML?????û?l???
?L?????Z???ÿhL?????????g??l???K?
??
õ?????j???????????h????g©???l?????L?????h?????h??¹?gg???????ôh??ô????????
?????????????L???j???ü¼??????Z??????õk???profile???????profiling???l?????t'÷?i??µ?????'÷?
???????????'??j£??????? ???õ??/???
AOP
?j???g????ôg???????h????A O P??h??k???
AOP ??'h??k???L??? ??????'?z?gg???l???g? OOP????g???h???gAOP??g????aspectOOP??h?????
AOP ??
??????h??g????l???j?ÿ? ????jÿ??
????????ÿ???ÿ?????
?h???hg??h?L ?h???weaving?integrating'????ÿ?? ??AOP???ÿ?'??¼ÿ????j??


AOPOOP?????k?AOP ÿ????????ÿg??L???????hOOP????
??hAOP?????L???i?w??AOP?OOP?L??OOP?h??lô??h??h?'OOPOOP?Lh
AOP
???hAOP?????????L??????????????h?hAOP??
AOP??
?L?? hAOP???
???ÿ?????????????????'ô?CCJAVA?
?????L??????? ?h?????????L???????h???
AOP??
AOPi?
l ??
2 ??????
AOP??ö????? ?????ÿ??????????i ???? '??hJavaAOP?????k?Java???Java?????????? ? ???h???????hJavah???AOPgJavaAOP?'??L???????????justintimek??
AOPlô
AOP???J????h?lô
g????AOP??ÿ??'ü'????g?g?????g???'???
????g??????µkµL?????µg??k??'???
????????'AOP ??????k???
õJ?AOPÿ??g? g???g?h???jg???????????z????ŸõJ?AOP'????h?OOPøá
AspectJhJavaAOP?
AspectJh?õg?????gXerox PARCgJavaAOP??'java?????Java??
?AspectJ???÷?µk?µ???hµ?????
AspectJ?AspectJi??khAspectJ??Java?????Java???AspectJ?h??Java IDE??
?AOP
AOP???AOP?ÿ????????AOPOOP?AOP?????????OOP??OOP?AOP?õ???'h??AOP???OOP???AOPL???£????L????????????h?????Lh??OOPAOP ?g

?AOP
?????????j?????AOP ???gAOPi???g??????hø?
????????h?AOP???lôAOP?????h_

  <>

? | ? | | ? | ? | | | ? | ? | ??

Copyright® 2003 Test Engineer, Inc. All rights reserved.

 

| | | ?? > ? > POST | ?? > > POST | ?? > Unix/Linux? > | ?? > ? > POST | ?? > ? > POST | ?? > h > POST | ?? > > POST | ?? > ?? > POST | ?? > ?? > POST | ?? > > POST | ?? > ? > POST | ?? > ?? > POST | ?? > ? > POST | ?? > ? > POST | ?? > ? > POST | ?? > > POST | ?? > Unix/Linux? > | ?? > ? > POST | ?? > ? > POST | ?? > h > POST | ArrayArrayArrayArrayMexico Calling Cards - Ecko Hoodies - Kartographie - Acne TreatmentArrayArrayArrayArray