写几个策略类,都实现同一个接口。写一个 Context 类,里面有一个策略对象属性,通过构造函数传入一个策略对象,对外暴露一个 exec 方法,用于传入执行策略所需的上下文,然后执行策略。