私は(PHPで)電子メールバウンスハンドラークラスを作成しました。これは当初、適切にフォーマットされたRFC準拠の電子メールバウンスメッセージを解析するためだけのものでした。ただし、時間が経つにつれて、非準拠のバウンスメッセージを処理するメソッドを追加し続けました。これは、バウンスの別の「タイプ」であると言えます。次に、お客様のご要望にお応えして、3回目のバウンスであるARFメッセージのサポートを追加しました。そしてもちろん、非準拠のARFメッセージが浮かんでいるので、そのためのパーサーも追加する必要がありました。
したがって、クラスは4つのバウンスタイプを処理します。
- RFC準拠
- RFC非準拠
- ARF準拠
- ARF非準拠
いくつかのタイプのメッセージがあるということは、適切な内部解析関数を呼び出し、結果を照合して返す初期化関数に「テキストスニファー」を配置する必要があることを意味します。この部分は重要です。次のように、電子メールテキストを受信し、フォーマットされた配列(is_a_bounce = yes / no、is_an_ARF = yes / no、RFCコード、拒否された受信者の電子メールアドレス)を返す単一のパブリックメソッドが必要だからです。
$arrayResult = $bounceHandler->parse($raw_email_text);
問題は、クラスが乱雑で混雑しているため、より正式で正しいOOPデザインパターンにリファクタリングしたいと思います。
- どのデザインパターンをお勧めしますか?
- PHPの例や記事/ブログはありますか?
前もって感謝します