add more info to java-design-pattern