Pengaturcaraan fungsional menggunakan nilai tidak berubah dan aplikasi fungsi untuk meningkatkan kestabilan kod. Digabungkan dengan corak reka bentuk, ia menghasilkan aplikasi yang cekap dan mudah diselenggara. Sebagai contoh, corak Strategi menggunakan fungsi pemetaan untuk memilih algoritma dan kami menunjukkan pengisihan tatasusunan menggunakan strategi Isih Buih dan Isih Pantas. . Ia membawa kestabilan dan kebolehselenggaraan yang lebih besar kepada kod.
Corak reka bentuk
terbukti, struktur kod boleh guna semula yang menyelesaikan masalah pengaturcaraan biasa. Menggabungkan pengaturcaraan berfungsi dan corak reka bentuk membolehkan anda mencipta aplikasi yang cekap dan mudah diselenggara.Kes Praktikal: Corak Strategi dan Fungsi Pemetaan
Corak Strategi membolehkan aplikasi memilih algoritma atau operasi tanpa mengubah struktur aplikasi. Kita boleh melaksanakan corak Strategi menggunakan fungsi pemetaan seperti berikut:
<?php interface SortStrategy { public function sort(array $data): array; } class BubbleSortStrategy implements SortStrategy { public function sort(array $data): array { for ($i = 0; $i < count($data); $i++) { for ($j = $i + 1; $j < count($data); $j++) { if ($data[$i] > $data[$j]) { $temp = $data[$i]; $data[$i] = $data[$j]; $data[$j] = $temp; } } } return $data; } } class QuickSortStrategy implements SortStrategy { public function sort(array $data): array { if (count($data) <= 1) { return $data; } $pivot = $data[0]; $left = []; $right = []; for ($i = 1; $i < count($data); $i++) { if ($data[$i] < $pivot) { $left[] = $data[$i]; } else { $right[] = $data[$i]; } } return array_merge($this->sort($left), [$pivot], $this->sort($right)); } } $data = [5, 3, 1, 2, 4]; $bubbleSortStrategy = new BubbleSortStrategy(); $sortedData = array_map(function ($value) use ($bubbleSortStrategy) { return $bubbleSortStrategy->sort($value); }, [$data]); echo implode(', ', $sortedData[0]); // Output: 1, 2, 3, 4, 5 $quickSortStrategy = new QuickSortStrategy(); $sortedData = array_map(function ($value) use ($quickSortStrategy) { return $quickSortStrategy->sort($value); }, [$data]); echo implode(', ', $sortedData[0]); // Output: 1, 2, 3, 4, 5
bertindak sebagai pemanggil universal corak Strategi. Ia melalui data dan menggunakan strategi yang ditentukan (algoritma pengisihan) untuk setiap elemen. Dengan cara ini kita boleh menukar algoritma pengisihan berbeza dengan mudah mengikut keperluan tanpa mengubah suai struktur aplikasi.
Atas ialah kandungan terperinci Pengaturcaraan Fungsian PHP dan Corak Reka Bentuk. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!