Add strategy example
對外界隱藏三種config類別
apply factory pattern
use dynamic new instance instead of switch case