template method pattern send transaction to system ({'items'[{'amount_purchased' 'value' 'item_id' }]'id' },=========running stock sync between local and remote system retrieving remote stock items from system updating local items sending updates to third party system send transaction to system ({'items'[{'amount_purchased' 'value' 'item_id' }]'id' },parting shots knowing which pattern to use whereand where to not rely on any of the patterns in this or any other bookis form of intuition as is the case with martial artsit is helpful to practice implementing these patterns wherever you find the opportunity when you implement thembe aware of what is working and what is not where are the patterns helping youand where are they hampering your progressyour goal is to develop feeling for the kinds of problems that specific pattern would solve using clear and known implementationand where the pattern would just get in the way since just mentioned knowledge and the need for experimentationi suggest you look at the documentation of your favorite editor and find out if it has some sort of snippet function that you could use to handle some of the boilerplate code you find yourself writing repeatedly this might include the preamble you use to start coding in new fileor the structure around the main(function this harkens back to the idea that if you are going to use tool every dayyou really need to master that tool being comfortable using snippetsand especially creating your ownis good place to gain an extra bit of leverage over your tools and remove some wasteful keystrokes exercises implement fourth systemand this time see what happens when you leave out one of the steps explore the challenges associated with trying to keep two systems in sync without being able to stop the whole world and tie everything together nicelyyou will need to look at race conditionsamong other things