单项选择题

A.将抽象部分与它的实现部分分离,使它们都可以独立地变化
B.将一个复杂对象的构建与它的表示分离
C.定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换