由于PayOrder类是支付服务的实现,当支付服务需求发生变化时,则需要修改PayOrder类的已有代码,或重新定义实现新需求的子类。无论哪种方式,客户端Patron都会感知到支付服务的变化,并受到影响。