{'fraction_non_alphanumeric': 0.02465483234714004, 'fraction_numerical': 0.0, 'mean_word_length': 5.633986928104576, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Composition and categorization of aspect-oriented design patterns

This paper presents a composition of four particular aspect-oriented design patterns: Policy, Cuckoo's Egg, Border Control and Exception Introduction. The composition is studied in the context of the class deprecation problem in team development. Each of these four patterns is a representative of one of the three structural categories of aspect-oriented design patterns: pointcut, advice, and inter-type declaration pattern category. Although aspect-oriented patterns mostly can be composed with one another without having to modify the code of the pattern that has been applied first, this is not always so. Based on the structural categorization of aspect-oriented design patterns, a regularity in their sequential composition is uncovered and discussed in general and within a detailed example of Policy, Cuckoo's Egg, Border Control, and Exception Introduction composition and further examples of aspect-oriented design pattern compositions.