20141007
 1. add factory pattern20141007