In your opinion it seems like two responsibilities. You can't just split classes every time you think of it. You'd have an explosion of classes that do nothing. Use your discretion and common sense on when to do it. Your argument is to split it now so I don't have to split it later. Yet it overlooks the fact programmers need to make the opposite operation, merging two or more prematurely split classes back into one.PCSpectra wrote: routing and dispatching, are obviously distinct functionalities,
If it seems like "one thing" it should be also considered to keep them together. Jonah bro if you do decide to split it, that is called a 'refactoring'. http://martinfowler.com/books.html ("extract method" splits long unmanageable methods into multiple smaller ones, and is an example of a refactoring). If you extract a method and change your mind, the reverse operation would be putting it back "inline". http://www.refactoring.com/catalog/inlineMethod.html