my note on design pattern implement in Java