Corak Strategi dalam Konteks Dunia Nyata: Penyulitan Fail
Prinsip Tertutup-Terbuka (OCP) menyokong untuk mereka bentuk kod yang terbuka kepada sambungan tetapi tertutup kepada pengubahsuaian. Satu cara untuk mencapai ini adalah dengan menggunakan Corak Strategi. Walaupun konsep menerapkannya pada kelas pengesahan yang berbeza adalah sah, terdapat contoh praktikal selanjutnya di mana corak strategi bersinar.
Pertimbangkan senario penyulitan fail. Pilihan strategi penyulitan bergantung pada saiz fail. Untuk fail kecil, strategi "dalam ingatan" di mana keseluruhan fail disimpan dalam ingatan mungkin memadai. Walau bagaimanapun, untuk fail yang lebih besar, strategi berbeza menggunakan pemuatan memori separa dan storan fail sementara untuk hasil yang disulitkan adalah optimum.
Dalam konteks ini, Corak Strategi membenarkan berbilang strategi penyulitan, setiap satu melaksanakan antara muka yang sama. Kod pelanggan tetap tidak mengetahui strategi khusus yang digunakan, memudahkan proses membuat keputusan dalam CipherFactory.
interface Cipher { public void performAction(); } class InMemoryCipherStrategy implements Cipher { public void performAction() { // in-memory encryption logic } } class SwaptToDiskCipher implements Cipher { public void performAction() { // partial memory and temporary file encryption logic } } // client code File file = getFile(); Cipher c = CipherFactory.getCipher(file.size()); c.performAction();
CipherFactory menentukan strategi yang sesuai berdasarkan saiz fail dan mengembalikan contoh kepada kod klien. Reka bentuk ini membolehkan penyepaduan lancar strategi penyulitan baharu tanpa mengubah suai kod pelanggan, mematuhi prinsip OCP. Hasilnya ialah sistem penyulitan yang fleksibel dan boleh dikembangkan yang boleh mengendalikan fail dengan saiz yang berbeza-beza dengan cekap.
Atas ialah kandungan terperinci Bagaimanakah Corak Strategi Boleh Meningkatkan Penyulitan Fail Berdasarkan Saiz Fail?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!