AspectOrientedProgramming

ThoughtStorms Wiki

JonUdell : http://www.infoworld.com/article/03/07/18/28OPstrategic_1.html

Intro : http://www.cs.ust.hk/~scc/comp610e/assignment/reading04.pdf

In PythonLanguage : http://www.cs.tut.fi/~ask/aspects/aspects.html

Aspect oriented programming is about handling CrosscuttingConcerns which don't decompose well into either the inheritance hierarchy or the component hierarchy. For example, if you need to add logging to all objects.

Thoughts

This is an obvious concern, and there's no very good way to handle it. Some tools allow aspects to be added to objects globally.

I wonder if there's any connetion with RelationalDataModel. That does cut up data into multiple dimensions and allow independent manipulation. Suppose we think of objects as closer to database tables, and methods as closer to operations on some fields.

Each method would have to be defined to be independent of every other method. For example, the methods would have to be written asynchronously, so that the order they were executed didn't matter.

Method selectors would trigger a bundle of methods on the object, in no well defined order ...

hmmm, just freestyling here. This is one for the IdealProgrammingLanguage

Manageability finds an analogy with CascadingStyleSheets : http://www.manageability.org/blog/stuff/pragmatic-uses-of-aop

CategoryDesign, CategoryProgramming