This post originated from an RSS feed registered with Java Buzz
by Carlos Perez.
Original Post: Refactoring to Implicit Invocations
Feed Title: .:Manageability:.
Feed URL: http://www.manageability.org/blog/stuff/rssDisabled?portal_status_message=Syndication+is+Disabled
Feed Description: Random thoughts on the manageability of complex software.
"Implicit Invocation" is a term coined by Garlan and Shaw in their research on sofware architectures. A couple of years later Dirk Reihle puts together a desgin pattern on "Integrating Implicit Invocation with Object Orientation". We are all very familiar with this architecture style or design patterns (incidentally in the early days design patterns were also called micro-architectures"), we've seen it in JMS based message systems or event driven Swing programming. However, an interesting question does crop up "How do I refactor my program to leverage Implicit Invocation?". That is, how can I convert a tightly coupled design to a more loosely couple one?
It turns out that John Vlissides (Co-conspirator in the GOF) has done some research on this, he has put together his automated procedure on how to achieve this (in cahoots with Mr. Law of Demeter). The paper is generically titled "Designing Components versus Objects". Who could have guess that the paper has a prescription for "Refactoring to Implicit Invocations". This would be a nice complement to "Refactoring to Patterns". Now that gets me thinking some more, wouldn't it be nice to have a "Refactoring to Loosely Coupled Patterns"? Afterall, "Refactoring to Patterns" lacks a solid answer to "What's my motivation?".