title: Would you utilize strategy pattern here?
body: <p>Is this code a good fit for the strategy pattern?</p>
  
  <pre><code>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')
                  -&gt;getResourceCollection()
                  -&gt;addCountryFilter(array('US'))
                  -&gt;load();
  
              $stateAbbr = array();
  
              // Cycle through state abbreviations for match
              foreach ($regionCollection as $region) {
                  $stateAbbr[] = strtolower($region-&gt;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;
  }
  </code></pre>
  
  <p>I was assuming you could have a simple interface to define a validate method but I'm slightly confused on how to handle the two odd ball cases in the switch statement that return true/false w/ no email logic.</p>
  
  <pre><code>interface ValidInterface
  {
      public function isValid($email);
  }
  </code></pre>