org.shaneking.study.book.designpattern