A. Separation of concerns
B. Writing aspects
C. Finding code complexity
D. None of the mentioned
Explanation: The separation of concerns is a key principle of software design and implementation. It means that you should organize your software so that each element in the program (class, method, procedure, etc.) does one thing and one thing only.