REFACTORING HELLO WORLD - THE FULLY EXPLODED CLASS BEFORE +--------------+ |HelloWorld | |--------------| | | |--------------| |void run() | |void main(..) | +--------------+ REFACTORING HELLO WORLD - THE FULLY EXPLODED CLASS BEFORE AFTER +-----------------------+ |HelloWorld (interface) | +--------------+ |-----------------------| |HelloWorld | | | |--------------| |-----------------------| | | |void run() ; | |--------------| | | |void run() | +-----------------------+ |void main(..) | +--------------+ REFACTORING HELLO WORLD - THE FULLY EXPLODED CLASS BEFORE AFTER +-----------------------+ |HelloWorld (interface) | +--------------+ +-------------------+ |\ |-----------------------| |HelloWorld | |AbstractHelloWorld |...| >| | |--------------| |-------------------| |/ |-----------------------| | | | | |void run() ; | |--------------| |-------------------| | | |void run() | |void run() { .. } | +-----------------------+ |void main(..) | | | +--------------+ +-------------------+ REFACTORING HELLO WORLD - THE FULLY EXPLODED CLASS BEFORE AFTER +-----------------------+ |HelloWorld (interface) | +--------------+ +-------------------+ |\ |-----------------------| |HelloWorld | |AbstractHelloWorld |...| >| | |--------------| |-------------------| |/ |-----------------------| | | | | |void run() ; | |--------------| |-------------------| | | |void run() | |void run() { .. } | +-----------------------+ |void main(..) | | | +--------------+ +-------------------+ ^ / \ --- | +-------------------+ |ConcreteHelloWorld | |-------------------| | | |-------------------| |void main(..) | | | +-------------------+ REFACTORING HELLO WORLD - THE FULLY EXPLODED CLASS BEFORE AFTER +-----------------------+ |HelloWorld (interface) | +--------------+ +-------------------+ |\ |-----------------------| |HelloWorld | |AbstractHelloWorld |...| >| | |--------------| |-------------------| |/ |-----------------------| | | | | |void run() ; | |--------------| |-------------------| | | |void run() | |void run() { .. } | +-----------------------+ |void main(..) | | | +--------------+ +-------------------+ ^ - This is all such a win / \ why, again? --- | +-------------------+ |ConcreteHelloWorld | |-------------------| | | |-------------------| |void main(..) | | | +-------------------+