多项选择题

A.考虑软件架构
B.考虑线程方案
C.考虑UI方案
D.根据选定的编程语言调整模型的结构
E.为以后的版本或领域内其他的系统设计提供可复用的机会
F.复用以前存在的类