{"title":"捕获面向对象软件中的重要关注点","authors":"M. Trifu, Volker Kuttruff","doi":"10.1109/WCRE.2005.11","DOIUrl":null,"url":null,"abstract":"Code that is scattered and tangled as a result of orthogonal concerns seriously hinders software maintenance and reuse. As OO decompositions are unable to cleanly encapsulate such orthogonal (cross-cutting) concerns simultaneously, new ideas and languages were devised to capture and encapsulate them. In this paper, we argue that the current leading approaches (AOP as it is understood in AspectJ and MDSOC), although a step forward in the right direction, have some serious limitations. We, then, propose a new conceptual model for encapsulating concerns identified in existing OO code, which we apply to an example taken from the Java Swing library. Our case study shows that our approach is able to capture cross-cutting concerns in a cleaner and more elegant fashion than current state of the art approaches.","PeriodicalId":119724,"journal":{"name":"12th Working Conference on Reverse Engineering (WCRE'05)","volume":"3 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2005-11-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"10","resultStr":"{\"title\":\"Capturing nontrivial concerns in object-oriented software\",\"authors\":\"M. Trifu, Volker Kuttruff\",\"doi\":\"10.1109/WCRE.2005.11\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Code that is scattered and tangled as a result of orthogonal concerns seriously hinders software maintenance and reuse. As OO decompositions are unable to cleanly encapsulate such orthogonal (cross-cutting) concerns simultaneously, new ideas and languages were devised to capture and encapsulate them. In this paper, we argue that the current leading approaches (AOP as it is understood in AspectJ and MDSOC), although a step forward in the right direction, have some serious limitations. We, then, propose a new conceptual model for encapsulating concerns identified in existing OO code, which we apply to an example taken from the Java Swing library. Our case study shows that our approach is able to capture cross-cutting concerns in a cleaner and more elegant fashion than current state of the art approaches.\",\"PeriodicalId\":119724,\"journal\":{\"name\":\"12th Working Conference on Reverse Engineering (WCRE'05)\",\"volume\":\"3 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2005-11-07\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"10\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"12th Working Conference on Reverse Engineering (WCRE'05)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/WCRE.2005.11\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"12th Working Conference on Reverse Engineering (WCRE'05)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/WCRE.2005.11","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Capturing nontrivial concerns in object-oriented software
Code that is scattered and tangled as a result of orthogonal concerns seriously hinders software maintenance and reuse. As OO decompositions are unable to cleanly encapsulate such orthogonal (cross-cutting) concerns simultaneously, new ideas and languages were devised to capture and encapsulate them. In this paper, we argue that the current leading approaches (AOP as it is understood in AspectJ and MDSOC), although a step forward in the right direction, have some serious limitations. We, then, propose a new conceptual model for encapsulating concerns identified in existing OO code, which we apply to an example taken from the Java Swing library. Our case study shows that our approach is able to capture cross-cutting concerns in a cleaner and more elegant fashion than current state of the art approaches.