Maison >Java >javaDidacticiel >Comment le modèle de stratégie peut-il résoudre les problèmes de chiffrement de fichiers en fonction de la taille du fichier ?
Application dans le monde réel du modèle de stratégie
Le modèle de stratégie adhère au principe ouvert-fermé, permettant à un système d'être facilement étendu sans modifier le code existant. Une application courante dans le monde réel du modèle de stratégie implique le chiffrement de fichiers.
Considérez un scénario dans lequel différentes stratégies de chiffrement sont nécessaires en fonction de la taille du fichier. Pour les petits fichiers, une stratégie en mémoire charge l'intégralité du fichier et le chiffre en mémoire. Cependant, pour les fichiers plus volumineux, une stratégie d'échange sur disque est plus efficace, cryptant des parties du fichier et stockant les résultats intermédiaires dans des fichiers temporaires.
Le code client reste le même quelle que soit la stratégie utilisée :
File file = getFile(); Cipher c = CipherFactory.getCipher(file.size()); c.performAction(); // Implementations interface Cipher { void performAction(); } class InMemoryCipherStrategy implements Cipher { @Override public void performAction() { // Load in byte[] .... } } class SwapToDiskCipher implements Cipher { @Override public void performAction() { // Swap partial results to file } }
La méthode CipherFactory.getCipher() détermine la stratégie appropriée en fonction de la taille du fichier. Cette approche garantit que le processus de cryptage est géré de manière transparente, quelle que soit la taille du fichier.
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!