java代码的各种设计模式实现