单项选择题

A.定义一系列的算法,把它们一个个的封装起来,并且使可相互替换
B.为一个对象动态连接附加的职责
C.你希望只拥有一个对象,但不用全局对象来控制对象的实例化
D.定义一个操作中的骨架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤