Rumah > Java > javaTutorial > teks badan

Antara Muka dengan Medan Statik: Adakah Ia Bau Kod?

Patricia Arquette
Lepaskan: 2024-10-31 09:17:01
asal
629 orang telah melayarinya

 Interfaces with Static Fields: Are They a Code Smell?

Antaramuka dengan Medan Statik: Perangkap untuk Yang Tidak Berwaspada

Pemaju Java sering menghadapi antara muka dengan banyak medan statik yang digunakan sebagai "pemalar." Walaupun teknik ini nampaknya mudah, teknik ini secara amnya dianggap sebagai amalan buruk.

Isu utama dengan pendekatan ini ialah percambahan pemalar di seluruh kod. Melaksanakan kelas menjadikan semua medan statik sebahagian daripada antara muka awam mereka, walaupun ia hanya digunakan secara dalaman. Sebagai contoh, antara muka SwingConstants dilaksanakan oleh banyak kelas, secara sembarangan mendedahkan senarai pemalarnya yang luas kepada semua.

Arkitek perisian Josh Bloch juga memberi amaran terhadap corak ini:

"Melaksanakan antara muka yang berterusan menyebabkan [butiran pelaksanaan] untuk bocor ke dalam API yang dieksport kelas," katanya. "Ia mewakili komitmen: jika pada keluaran masa hadapan kelas diubah suai supaya ia tidak lagi perlu menggunakan pemalar, ia masih mesti melaksanakan antara muka untuk memastikan keserasian binari."

Alternatif kepada corak ini termasuk menggunakan enums atau mentakrifkan pemalar sebagai medan statik awam dalam kelas tidak boleh segera. Kaedah ini membenarkan kelas lain mengakses pemalar tanpa mengacaukan API mereka sendiri atau melanggar Prinsip Pengekapan.

Kesimpulannya, sementara antara muka dengan medan statik mungkin kelihatan menawarkan beberapa utiliti, ia memperkenalkan kerumitan yang tidak perlu dan isu penyelenggaraan yang berpotensi. Apabila bekerja dengan pemalar, pertimbangkan untuk menggunakan enum atau kelas tidak boleh segera sebagai pilihan yang lebih sesuai dan boleh diselenggara.

Atas ialah kandungan terperinci Antara Muka dengan Medan Statik: Adakah Ia Bau Kod?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!