Rumah > Soal Jawab > teks badan
比如说Color接口有三个实现类分别是:Red、Blue和Green
现在我要在运行的时候才决定用某个实现类
怎么管理比较优雅?别if..else..
ringa_lee2017-04-18 10:54:49
Terdapat tiga struktur dalam pengaturcaraan: 顺序
, 分支
dan 循环
. if-else
Sebagai struktur cawangan yang paling biasa digunakan, ia amat diperlukan.
Mengenai isu ini, if-else
ialah kaedah pengaturcaraan yang paling mudah untuk sesiapa sahaja yang telah mempelajari pengaturcaraan. Dan yang paling mudah adalah yang paling elegan.
Perkara yang kadangkala kelihatan lebih teruk tentang if-else
ialah terdapat banyak lapisan if
bersarang dalam if-else
, mengakibatkan kedalaman pertimbangan logik yang berlebihan.
Jadi penyelesaian yang baik ialah mengembalikan keputusan terlebih dahulu apabila anda boleh keluar if
awal, memastikan kedalaman if
berada pada paling banyak dua tahap.
Berikut ialah soalan serupa yang boleh anda lihat:
Terdapat banyak jika-lain, bagaimana untuk mengoptimumkannya?
Corak reka bentuk boleh memberi anda kemudahan, tetapi jangan mengenakan corak reka bentuk pada penyelesaian anda sendiri. Anda perlu membuat kompromi antara 简单的设计
dan 设计模式
untuk kod anda sendiri.
PHP中文网2017-04-18 10:54:49
Penerangan tajuk terasa lebih sesuai dengan 策略模式
dalam corak reka bentuk.
怪我咯2017-04-18 10:54:49
Mengapa tidak menggunakan polimorfisme dan biarkan ia kepada penukaran jenis tersirat? Ia dikendalikan mengikut pelaksanaan kaedah antara muka.