Template method
Some lazy people make art out of their laziness. Take me, for example. Here's my daily schedule:
- 8:00 A.M. – 9:00 A.M.: Arrive at the office
- 9:00 A.M. – 10:00 A.M.: Drink coffee
- 10:00 A.M. –1 2:00 P.M.: Attend some meetings or review code
- 12:00 P.M. – 1:00 P.M.: Go out for lunch
- 1:00 P.M. – 4:00 P.M.: Attend some meetings or review code
- 4:00 P.M.: Sneak back home
Some parts of my schedule never change, while some do. Specifically, I have two slots in my calendar that any number of meetings could occupy.
At first, I thought I could decorate my changing schedule with that setup and teardown logic, which happens before and after. But then there's lunch, which is holy for architects and happens in between.
Java is pretty clear on what you should do. First, you create an abstract class. Then, you mark all the methods that you want to implement by yourself as private
:
abstract class...