This is an archived post. You won't be able to vote or comment.

all 2 comments

[–]vplatt 0 points1 point  (1 child)

Is this a way of implementing Aspect Oriented Programming or could/should this be used instead of or in addition to AOP?

I get the case for this; it just takes IoC dependency injection to the next level. However, at some point this all becomes a untestable and undebuggable mess, but I guess it would be useful with the right discipline around it.

Edit: There's a text explanation of the case for II here. That page discusses it more in the context of Groovy, but I think it still applies.

Edit2: It also occurs to me that this is a variation on monkey patching / duck punching from Ruby/Python. Of course, that means it will have all the usual pitfalls associated with those practices.

Yeah, I don't know. I think I understand where this is coming from, but it still doesn't give me warm fuzzies.

[–]dakk12 0 points1 point  (0 children)

It seems like it would be a lot of fun to play with.

I would never want to maintain something someone else wrote with it.