このコードは戦略パターンに適していますか?
public function isValidEmail($email, $organization)
{   
    switch ($organization) {
        case 'USAF':
        case 'Army':
        case 'USMC':
        case 'Navy':
        case 'SOCOM':
            return (preg_match('/[.]mil$/i', $email) === 1);
            break;
        case 'Federal Gov.':
            return (preg_match('/[.]gov$/i', $email) === 1);
            break;
        case 'State/Local Gov.':
            $regionCollection = Mage::getModel('directory/region')
                ->getResourceCollection()
                ->addCountryFilter(array('US'))
                ->load();
            $stateAbbr = array();
            // Cycle through state abbreviations for match
            foreach ($regionCollection as $region) {
                $stateAbbr[] = strtolower($region->getCode());
            }
            $states = implode('|', $stateAbbr);
            return (preg_match("/[\.|@]{1}($states){1}\.us$/i", $email) ===
            break;
        case 'USCG':
        case 'DOD':
        case 'Defense Industry':
            return true;
            break;
        default:
            return false;
            break;
    }
    // It got past somehow?
    return false;
}
検証メソッドを定義するための単純なインターフェイスを使用できると想定していましたが、switch ステートメントで true/false を返し、電子メール ロジックがない場合の 2 つの奇妙なケースを処理する方法について少し混乱しています。
interface ValidInterface
{
    public function isValid($email);
}