Untangling the Gordian Knot

Currently working on a project to untangle a hairball project. Its quite tempting to cut the Gordian Knot, but we are working more slowly, following a pattern best described as encapsulate, delegate, deprecate, delete.

  1. self encapsulate fields and methods
  2. delegate to methods on the new untangled object and deprecate the old
  3. delete the old methods and fields

Anyone have any other patterns for this?

3 Responses to “Untangling the Gordian Knot”

  1. Darren Says:

    I don’t have a cool name, but I find that introducing ‘micro-interfaces’ works quite well in this situation. I’ve posted a bit more about it on my weblog: http://radio.weblogs.com/0111784/
    -Darren

  2. Paul Hammant Says:

    Componentization dude. Don’t forget Interface/Impl separation..

  3. Darren Hobbs Says:

    Componentisation. That’s the term I was looking for, in its anglicised form :)

Leave a Reply