我正在开发一个支付库,它允许我通过相同的接口实现任何支付处理器。我现在遇到的问题是我想改进向处理器提供数据的方式。现在它是一个数组,我对那个数组不满意。问题是,如果您事先不知道所有字段,您最终会收到通知,或者处理器代码本身将需要大量检查。这个想法是能够采用任何类型的数据结构,因为它在应用程序之间有所不同,并使其与处理器一起工作,同时确保处理器获得所需的数据馈送。
我现在的想法是将其更改为对象。该对象将带有一组有限的字段,所有处理器都需要并且通常具有共同点,但可以扩展该对象以获取其他字段。
这样做的好处是我可以在处理器中验证它是否传递了一个支付对象,并且它可以验证它是否实现了所有必需的字段,如果没有抛出异常。
所以现在的问题是,这是否是一种好方法,或者是否有更好的失败保存方法来确保所有处理器都可以依赖传递的数据?