Decouple an abstraction from its implementation so that the two can vary independently.
将抽象与实现解耦,以便二者独立变化。
Abstraction
) Request()
)。RefinedAbstraction
) Implementor
) RequestImpl()
),不必与抽象类所声明的接口 (Request()
) 一致。ConcreteImplementorA
, ConcreteImplementorB
)