<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
		<id>http://www.minetti.org/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Design_pattern%3AStrat%C3%A9gie</id>
		<title>Design pattern:Stratégie - Historique des versions</title>
		<link rel="self" type="application/atom+xml" href="http://www.minetti.org/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Design_pattern%3AStrat%C3%A9gie"/>
		<link rel="alternate" type="text/html" href="http://www.minetti.org/mediawiki/index.php?title=Design_pattern:Strat%C3%A9gie&amp;action=history"/>
		<updated>2026-05-04T14:27:26Z</updated>
		<subtitle>Historique pour cette page sur le wiki</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>http://www.minetti.org/mediawiki/index.php?title=Design_pattern:Strat%C3%A9gie&amp;diff=70&amp;oldid=prev</id>
		<title>Jp : Page créée avec « == But == Permettre la sélection à la volée d'un algorithme selon certaines conditions.  == Diagramme de classes == Fichier:Strategie.gif  == Code ==  public class... »</title>
		<link rel="alternate" type="text/html" href="http://www.minetti.org/mediawiki/index.php?title=Design_pattern:Strat%C3%A9gie&amp;diff=70&amp;oldid=prev"/>
				<updated>2016-04-07T16:28:47Z</updated>
		
		<summary type="html">&lt;p&gt;Page créée avec « == But == Permettre la sélection à la volée d&amp;#039;un algorithme selon certaines conditions.  == Diagramme de classes == &lt;a href=&quot;/wiki/Fichier:Strategie.gif&quot; title=&quot;Fichier:Strategie.gif&quot;&gt;Fichier:Strategie.gif&lt;/a&gt;  == Code ==  public class... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== But ==&lt;br /&gt;
Permettre la sélection à la volée d'un algorithme selon certaines conditions.&lt;br /&gt;
&lt;br /&gt;
== Diagramme de classes ==&lt;br /&gt;
[[Fichier:Strategie.gif]]&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
 public class Context {&lt;br /&gt;
 &lt;br /&gt;
 	/**&lt;br /&gt;
 	 * L'instance de la stratégie choisie&lt;br /&gt;
 	 */&lt;br /&gt;
 	private Strategy strategy;&lt;br /&gt;
 &lt;br /&gt;
 	/**&lt;br /&gt;
 	 * Constructeur initialisant la stratégie choisie pour le&lt;br /&gt;
 	 * contexte&lt;br /&gt;
 	 */&lt;br /&gt;
 	public Context(Strategy strategy) {&lt;br /&gt;
 		this.strategy = strategy;&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	/**&lt;br /&gt;
 	 * Méthode exécutant l'algorithme&lt;br /&gt;
 	 */&lt;br /&gt;
 	public void contextInterface() {&lt;br /&gt;
 		strategy.algorithmInterface(this);&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 public interface Strategy {&lt;br /&gt;
 &lt;br /&gt;
 	/**&lt;br /&gt;
 	 * Méthode définissant l'appel à l'algorithme&lt;br /&gt;
 	 */&lt;br /&gt;
 	public void algorithmInterface(Context context);&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 public class ConcreteStrategyA implements Strategy {&lt;br /&gt;
 &lt;br /&gt;
 	/**&lt;br /&gt;
 	 * Méthode implémentant l'algorithme&lt;br /&gt;
 	 */&lt;br /&gt;
 	public void algorithmInterface(Context context) {&lt;br /&gt;
 		// Implémentation de l'algorithme A en utilisant les&lt;br /&gt;
 		// données de la classe Context&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 public class ConcreteStrategyB implements Strategy {&lt;br /&gt;
 &lt;br /&gt;
 	/**&lt;br /&gt;
 	 * Méthode implémentant l'algorithme&lt;br /&gt;
 	 */&lt;br /&gt;
 	public void algorithmInterface(Context context) {&lt;br /&gt;
 		// Implémentation de l'algorithme B en utilisant les&lt;br /&gt;
 		// données de la classe Context&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Exemples ==&lt;br /&gt;
{|style=&amp;quot;color:black;background-color:#ffffcc;&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|Exemples&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Classes&lt;br /&gt;
|-&lt;br /&gt;
!Context&lt;br /&gt;
!ConcreteStrategy&lt;br /&gt;
|- style=&amp;quot;background-color:white;&amp;quot;&lt;br /&gt;
|Calculer la taxe d'une commande suivant le pays.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|CommandeClient&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|TaxeFr&lt;br /&gt;
TaxeUs&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
|- style=&amp;quot;background-color:white;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|Définir le type de mouvement d'un joueur pour un jeu.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|Joueur&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|Joystick1&lt;br /&gt;
Joystick2&lt;br /&gt;
&lt;br /&gt;
Ordinateur&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Jp</name></author>	</entry>

	</feed>