Talk:Aspect oriented programming: Difference between revisions

Content added Content deleted
Line 66: Line 66:
:One option would be to "implement a task and then implement a variant without changing the original code". This degenerates to including words in the original code which are later redefined to do something else.
:One option would be to "implement a task and then implement a variant without changing the original code". This degenerates to including words in the original code which are later redefined to do something else.


:Another option would be to "take an existing implementation of another task and then implement a variant without changing the original code". This degenerates to introspection and/or code emission.
:Another option would be to "take an existing implementation of another task and then implement a variant without changing the original code". This degenerates to introspection with code injection and/or source analysis with code emission.


:Any of the above could be hidden behind the abstraction barriers offered by object implementations.
:Any of the above could be hidden behind the abstraction barriers offered by object implementations.


:That said, it's often good coding practice to modify the original when introducing pervasive changes. This can make later maintenance much simpler. But we can have tasks here that ask for examples of bad coding practices. --[[User:Rdm|Rdm]] 10:56, 21 October 2011 (UTC)
:That said, it's often good coding practice to modify the original when introducing pervasive changes. This can make later maintenance much simpler. But we can have tasks here that ask for examples of bad coding practices. But we do not have to pick the variant that uses a task implementation not designed for AOP.

Another variant, then, would be to take an existing task, instrument it with inflection points, and then add the optional AOP code. --[[User:Rdm|Rdm]] 10:56, 21 October 2011 (UTC)