strategy temeplateMethod proxy