Rumah >Java >javaTutorial >Bagaimanakah Corak Strategi Boleh Menyelesaikan Cabaran Penyulitan Fail Berdasarkan Saiz Fail?
Aplikasi Dunia Sebenar bagi Corak Strategi
Corak Strategi mematuhi Prinsip Terbuka-Tertutup, membolehkan sistem menjadi mudah dilanjutkan tanpa mengubah suai kod sedia ada. Satu aplikasi dunia sebenar Corak Strategi melibatkan penyulitan fail.
Pertimbangkan senario di mana strategi penyulitan yang berbeza diperlukan bergantung pada saiz fail. Untuk fail kecil, strategi dalam memori memuatkan keseluruhan fail dan menyulitkannya dalam memori. Walau bagaimanapun, untuk fail yang lebih besar, strategi swap-ke-cakera adalah lebih cekap, menyulitkan bahagian fail dan menyimpan hasil perantaraan dalam fail sementara.
Kod klien tetap sama tanpa mengira strategi yang digunakan:
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 } }
Kaedah CipherFactory.getCipher() menentukan strategi yang sesuai berdasarkan saiz fail. Pendekatan ini memastikan bahawa proses penyulitan dikendalikan dengan lancar, tanpa mengira saiz fail.
Atas ialah kandungan terperinci Bagaimanakah Corak Strategi Boleh Menyelesaikan Cabaran Penyulitan Fail Berdasarkan Saiz Fail?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!