An aspect also a class , and as others have answered, it should consist of related functions. To rephrase Cygnusx1, you do not want one aspect to have tips for logging, as well as creating metrics.
Further organization may be required based on points aimed at them. For example, note that the Logger aspect generates several different logs, for example. concise and verbose.
It would be wise to create this aspect in the com.company.project.logging package. But do you want him to refer to all the places in the code that need to be reported? Probably no.
What I would do is create an abstract aspect and expand it, containing concrete recommendations and abstract named points. Then I would expand on this with specific aspects in the various packages com.company.project.dataaccess , com.company.project.purchase , etc. that implement these abstract pointcuts.
So, what I did, an aspect is revealed that registers and allows individual module owners to determine when they should be launched.
source share