Strategy and Template method