create design pattern strategy.