AOP - это просто другая парадигма программирования, которая имеет ООП для столба ниже.
Интерфейсы классов - это нечто более конкретное, и их следует использовать, когда вы хотите определить свойство, которое может быть общим для разных классов.
Упомянутое разделение интересов, вероятно, связано с теми различными свойствами, которые, будучи обнаруженными и разными, должны позволять создавать новый интерфейс, следовательно, позволяя другим классам реализовывать их, и позволяя им есть что-то общее, что их связывает, и которое является видимым и явным.
AOP не должен использоваться для этой цели, потому что он включает в себя свою собственную парадигму, и это задача, которую вы уже можете выполнить с помощью интерфейсов. АОП меняет вещи на другом уровне, позволяя вам изменять поведение всей программы, определяя рекомендованные точки.