PHP代码
- <?php
 - interface IStrategy {
 - function filter( $record );
 - }
 - class FindAfterStrategy implements IStrategy {
 - private $_name;
 - public function __construct( $name ) {
 - $this->_name = $name;
 - }
 - public function filter( $record ) {
 - return strcmp( $this->_name, $record ) <= 0;
 - }
 - }
 - class RandomStrategy implements IStrategy {
 - public function filter( $record ) {
 - return rand( 0, 1 ) >= 0.5;
 - }
 - }
 - class UserList {
 - private $_list = array();
 - public function __construct( $names ) {
 - if ( $names != null ) {
 - foreach( $names as $name ) {
 - $this->_list []= $name;
 - }
 - }
 - }
 - public function add( $name ) {
 - $this->_list []= $name;
 - }
 - public function find( $filter ) {
 - $recs = array();
 - foreach( $this->_list as $user ) {
 - if ( $filter->filter( $user ) )
 - $recs []= $user;
 - }
 - return $recs;
 - }
 - }
 - $ul = new UserList( array( "Andzy", "Jack", "Lori", "Megan" ) );
 - $f1 = $ul->find( new FindAfterStrategy( "J" ) );
 - print_r( $f1 );
 - $f2 = $ul->find( new RandomStrategy() );
 - print_r( $f2 );
 - ?>
 
mpeg的网站是:www.phpubb.com

