org.shaneking.study.chm.designpattern