« Patrons de conception/Adaptateur » : différence entre les versions
Contenu supprimé Contenu ajouté
m robot Ajoute: bg:Адаптер (шаблон) |
|||
Ligne 31 :
== Implémentation ==
== Exemple
Un adaptateur pour faire un carré aux coins ronds. Le code est en c++.
Ligne 69 :
};
</source>
== Exemple en C# ==
<source lang="csharp">
/// <summary> </summary>
interface IDeveloppeur {
string EcrireCode();
}
/// <summary> </summary>
class DeveloppeurHaskell : IDeveloppeur {
public string EcrireCode() { return "main = putStrLn \"Algorithme codé\""; }
}
/// <summary> </summary>
class Architecte {
public string EcrireAlgorithme() { return "Algorithme"; }
}
/// <summary> </summary>
class AdaptateurArchitecte : IDeveloppeur {
Architecte _architecte;
public AdaptateurArchitecte(Architecte archi) {
_architecte = archi;
}
public string EcrireCode() {
return string.Format("main = putStrLn \"{0} codé\"", _architecte.EcrireAlgorithme());
}
}
//___________________________________________________________________
// Implémentation
class Program {
static void Main() {
IDeveloppeur developpeur1 = new DeveloppeurHaskell();
Console.WriteLine(developpeur1.EcrireCode());
var architecte = new Architecte();
IDeveloppeur developpeur2 = new AdaptateurArchitecte(architecte);
Console.WriteLine(developpeur2.EcrireCode());
}
}
</source>
|