What are two aspects of the Strategy pattern? (Choose two.)
A.
Provides a way to configure a class with one of many behaviors
B.
Defines an object that encapsulates how a set of objects interact
C.
Defines the skeleton of an algorithm, deferring some steps to subclasses
D.
Decouples an abstraction from its implementation so that the two can vary independently
E.
Defines a family of algorithms, encapsulates each one, and makes them interchangeable
F.
Allows subclasses to redefine certain steps of an algorithm without changing the algorithm’s
structure