Modèle de stratégie du monde réel : optimisation du cryptage des fichiers
Le modèle de stratégie est la pierre angulaire du principe ouvert/fermé (OCP), permettant aux développeurs de créer des algorithmes interchangeables au sein d'une application, améliorant ainsi la flexibilité et la maintenabilité. Bien que souvent illustré d'exemples de validation, cet article présente son application pratique dans le cryptage de fichiers.
Imaginez un système nécessitant différentes méthodes de cryptage en fonction de la taille du fichier. Les petits fichiers peuvent utiliser une stratégie « en mémoire », chiffrant l'intégralité du fichier en une seule fois. Cependant, les fichiers plus volumineux nécessitent une stratégie de « swap-to-disk », chiffrant en partie et utilisant un stockage temporaire.
Le code client ne tient pas compte de la taille du fichier. Il récupère simplement le fichier, obtient la stratégie de chiffrement correcte auprès d'une usine et lance le chiffrement. Cette séparation de la logique de chiffrement du client simplifie les modifications et extensions futures.
Voici un exemple de code :
<code class="language-java">File file = getFile(); Cipher c = CipherFactory.getCipher(file.size()); c.encrypt(); interface Cipher { void encrypt(); } class InMemoryCipher implements Cipher { @Override public void encrypt() { // Load file into byte array and encrypt... } } class SwapToDiskCipher implements Cipher { @Override public void encrypt() { // Encrypt file in chunks, writing to temporary storage... } }</code>
L'utilisation du modèle Stratégie fournit :
Cet exemple de chiffrement de fichiers met en évidence la valeur pratique du modèle de stratégie pour résoudre des problèmes complexes avec des besoins divers. En découplant la logique de chiffrement, l'application devient plus flexible et maintenable, s'adaptant sans effort aux changements futurs.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!