MVC アーキテクチャで設計されたプログラムのいくつかの層を調べてみると、より深い層のメソッドが返す結果についてより多くの情報が必要であり、いつこの情報が必要になるかを予測できるとは限らないことがわかりました。そして、抽象化のために、そのメソッドがアプリケーション固有のログに何かを出力したり (そのメソッドは別のプログラムで使用される可能性があります)、または上記の他のレイヤーのように特定のアプリケーションに依存する動作をしたくない場合があります。
たとえば、特定のユーティリティ関数では、アクションを実行する前にいくつかの前提条件チェックが失敗する場合があります。それらのいずれかで false を返すと、呼び出し元は何が起こったのかわかりません。false を返し、何が起こったかをアプリケーション ログに記録すると、その関数がアプリケーション固有の動作にバインドされます。
質問: MyResult という小さなクラスを実装し、応答ステータス (ok/false)、メッセージ、最終的な整数コード、および呼び出し元が可能なオブジェクト プレースホルダー (配列またはオブジェクト) を返すようにすることは、良い/一般的な方法ですか?返されたオブジェクトにアクセスしますか? この MyResult クラスはシステム全体で使用され、すべてのメソッドとその呼び出し元の間で共通の「方言」になります。すべてのメソッドは、常に MyResult のインスタンスを返します。