Я бы сказал, что не только нет никакого преимущества в этом случае: есть немного недостатка. Вы используете одинаковое количество строк кода независимо от того, вызываете ли вы dirty()
или используете AOP, но просто вызов dirty()
является более простым и понятным с точки зрения намерений.
АОП, честно говоря, я немного перепродан, я думаю. Это добавляет еще один уровень косвенности, с точки зрения чтения кода, который часто не окупается.
Ключевым моментом, о котором следует подумать, является то, поможет ли следующий парень, читающий это (возможно, через несколько месяцев вы), быстрее и яснее понять, что я пытаюсь сделать. Если вам сложно понять, что лучше в менее простом подходе, вам, вероятно, не стоит его использовать. (И я говорю это как программист на Haskell, что означает, что я далек от того, чтобы противостоять непростым подходам к себе.)