这就是对象边界划分的问题,一般采取宁可多封装的倾向,象你这个加密密码和User没有直接联系,User只关心密码,至于密码方式它就照顾不到了,也不必耦合起来。

高聚合,低关联实际也是这个意思。