多项选择题

A.分离用户接口
B.信息隐藏
C.维持现有接口
D.泛化模块
E.限制暴露的信息
F.限制可能的选择