update README
add factory design pattern
add iterator pattern
add iterator pattern