First, I will explain the terms. AOP is Aspect-Oriented Programming, Aod is aspect-oriented design, and AOA is aspect-oriented analysis ).
AOP can be considered as a supplement to object-oriented programming. If object-oriented is a vertical division of the system, AOP can be considered as a horizontal division of the system. AOP focuses on one of the problems involved in all or most classes in the system, such as security, logs, and transactions. Processing this problem in each class will cause a large number of repeated code to be distributed in the system, and the cost of maintaining such a system is quite high.
Currently, AOP has mature solutions to this problem. Available tools include Spring AOP, aspectwerkz, and jboss4. Similar to the development process of object-oriented, oop is first available, Ood is then available to OOA. Currently, no industry-wide modeling method has been formed for AOP in design and analysis, from analysis ing to design to code.
From the perspective of the development of the object-oriented method system, aspect-oriented methods should also form a set of common modeling methods and languages in analysis and design. The modeling method should be combined with the existing OO method to add aspect-oriented content to the existing OO method. Of course, it does not rule out the loose coupling method with the existing OO method, the two can be combined to solve Oo and object-oriented problems. As for the modeling language, you can add the Aspect-Oriented semantics in UML. Another solution is to design a new aspect-oriented modeling language aoml (Aspect-Oriented Model language ), it can be based on the XML syntax, and does not need to start from scratch.
This kind of work requires a lot of practice, abstraction, and refinement. I hope that Chinese people can carry forward the spirit of solving panggalai's conjecture, and they will be able to compete first. In one second, it also allows Chinese people to leave a margin in terms of software methodology. :-)