1. public interface IUserManager {
    2. /**
    3. * 这种编写不好:方法 职责 不 清晰, 不 单一, 不要 让 别人 猜测 这个 方法 可能 是 用来 处理 什么 逻辑 的。
    4. * 在 IUserManager 中
    5. * 定义 了 一个 方法 changeUser,
    6. * 根据 传递 的 类型 不同,
    7. * 把 可变 长度 参数 changeOptions 修改 到 userBO 这个 对象 上,
    8. * 并 调用 持久 层 的 方法 保存 到 数据库 中。
    9. *
    10. * 设计模式之禅(第2版) (Kindle 位置 395-397). . Kindle 版本.
    11. * @param userBo
    12. * @param changeOptions
    13. */
    14. void changeUser(IUserBo userBo,String ...changeOptions);
    15. /*----------------------------------------------------------------*/
    16. /**
    17. * 需要写成这样,具体到方法是用于干嘛的
    18. * 需要单一责任
    19. */
    20. void changeUserName(String newUserName);
    21. void changeHomeAddress(String newHomeAddress);
    22. void changeOfficeTel(String telNumber);
    23. /**
    24. * 接口一定要做到单一职责,类的设计尽量做到只有一个原因引起变化
    25. */
    26. }