设计模式，JAVA版自整理~