私は、同じインターフェイスを介して任意の支払いプロセッサを実装できるようにする支払いライブラリに取り組んでいます。私が今抱えている問題は、データがプロセッサに供給される方法を改善したいということです。現在、それは配列であり、その配列には満足していません。問題は、すべてのフィールドを事前に把握していないと、通知が表示されたり、プロセッサ コード自体に膨大なチェックが必要になったりすることです。アイデアは、アプリケーションによって異なるため、あらゆる種類のデータ構造を取り、プロセッサで動作させるだけでなく、プロセッサが必要なデータフィードを確実に取得できるようにすることです。
私の考えは、それをオブジェクトに変更することです。オブジェクトには、すべてのプロセッサが必要とし、通常は共通の限られたフィールドのセットが付属していますが、オブジェクトを拡張して追加のフィールドを取得することもできます。
その利点は、プロセッサで支払いオブジェクトが渡されたことを検証できることと、例外をスローしない場合でも、すべての必須フィールドを実装しているかどうかを検証できることです。
問題は、これが良いアプローチであるかどうか、またはすべてのプロセッサが渡されたデータに依存できることを確認するためのより良いフェイル セーブ方法があるかどうかです。