Skip to content

G-SZD/Strategy-Pattern-G-SZD

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

interface SortStrategy // Íme az interface, ami egy doSort metódus megvalósítását írja elő 4 alapműveletes számológép készítésével 2 számmal ami a 3 é s a 2, hogy a beállított stratégiának megfelelően végezze el az +-*/műveleteket { public function doSort($data); }

class ascendingOrder implements SortStrategy // Az interface-t megvalósító, növekvő sorrendbe rendező osztály { public function doSort($data) { sort($data);

                             return $data; 
   }

}

class descendingOrder implements SortStrategy // az interface-t megvalósító, csökkenő sorrendbe rendező osztály. { public function doSort($data) { rsort($data);

                   return $data; 
   }

}

class SortClass { private $strategy; public function __construct(SortStrategy $strategy) { $this->strategy = $strategy; }

public function setStrategy(SortStrategy $strategy) { $this->strategy = $strategy; }

public function sort($text) { $result = $this->strategy->doSort($text);

 for($i=0; $i<= count($result)-1; $i++)
 {
   echo $result[$i] . "<br>";
 }

   echo "<br>";

} }

$sorting = new SortClass(new ascendingOrder()); $sorting->sort(array("a", "c", "f", "b"));

$sorting->setStrategy(new descendingOrder()); $sorting->sort(array("a", "c", "f", "b"));

About

Strategy Pattern

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published