Well, there is no general answer to this. But about your example of creating and customizing objects, see Builder Pattern and Factory Patten . A command template is useful when you have various possible actions (for example, messages sent through a queue).
The readability of your code is also sometimes useful, just looking for semantic units in your method and reorganizing them into methods, even if you are not reusing them elsewhere. A call to NotifyAllClients tells the reader more than a loop over some collection that calls some method.
source share