Pertanyaan yang diberi tag «interfaces»

Pertanyaan tentang pertimbangan desain terkait antarmuka, seperti pemrograman ke antarmuka.



19
Mengapa antarmuka bermanfaat?
Saya telah mempelajari dan mengkode dalam C # untuk beberapa waktu sekarang. Tapi tetap saja, saya tidak bisa membayangkan kegunaan Interfaces. Mereka membawa terlalu sedikit ke meja. Selain memberikan tanda tangan fungsi, mereka tidak melakukan apa pun. Jika saya dapat mengingat nama dan tanda tangan dari fungsi-fungsi yang perlu diterapkan, …
158 interfaces 

5
Mengapa saya lebih suka komposisi daripada warisan?
Saya selalu membaca bahwa komposisi lebih disukai daripada warisan. Sebuah posting blog tentang jenis yang berbeda , misalnya, advokat menggunakan komposisi lebih dari warisan, tetapi saya tidak bisa melihat bagaimana polimorfisme tercapai. Tetapi saya merasa bahwa ketika orang mengatakan lebih suka komposisi, mereka benar-benar lebih suka kombinasi komposisi dan implementasi …

5
Mengapa metode default dan statis ditambahkan ke antarmuka di Java 8 ketika kita sudah memiliki kelas abstrak?
Di Java 8, antarmuka dapat berisi metode yang diimplementasikan, metode statis, dan apa yang disebut metode "default" (yang tidak perlu ditimpa oleh kelas implementasi). Dalam pandangan saya (mungkin naif), tidak perlu melanggar antarmuka seperti ini. Antarmuka selalu menjadi kontrak yang harus Anda penuhi, dan ini adalah konsep yang sangat sederhana …



7
Haruskah nama antarmuka dimulai dengan awalan "I"?
Saya telah membaca " Kode Bersih " oleh Robert Martin untuk mudah-mudahan, menjadi programmer yang lebih baik. Meskipun sejauh ini tidak ada yang benar-benar melanggar, itu membuat saya berpikir berbeda tentang cara saya mendesain aplikasi dan menulis kode. Ada satu bagian dari buku yang saya tidak hanya tidak setuju dengan, …

7
Kapan menggunakan kelas abstrak alih-alih antarmuka dengan metode ekstensi di C #?
"Kelas abstrak" dan "antarmuka" adalah konsep yang serupa, dengan antarmuka menjadi lebih abstrak dari keduanya. Salah satu faktor pembeda adalah bahwa kelas abstrak menyediakan implementasi metode untuk kelas turunan saat dibutuhkan. Namun dalam C #, faktor pembeda ini telah dikurangi dengan pengenalan metode ekstensi baru-baru ini, yang memungkinkan implementasi disediakan …

10
Apakah Show () + Hide () atau SetVisible (bool terlihat) lebih baik?
Apa yang lebih baik dan mengapa? (Dari sudut pandang desain-antarmuka): a) Untuk memiliki dua Show()dan Hide()fungsi b) Untuk memiliki satu SetVisible(bool visible)fungsi EDIT: Misalnya beberapa objek memiliki status visibilitas dan fungsi ini digunakan untuk mengubahnya. c) Untuk memiliki ketiga Show(), Hide(), SetVisible(bool visible)fungsi
59 java  c++  interfaces 

3
Mengapa C # mengizinkan properti di antarmuka?
Di C #, kode berikut ini valid interface I{ int property{get;set;} } Itu tidak masuk akal bagi saya. Hal ini tampaknya mematahkan salah satu prinsip antarmuka yang paling penting: kurangnya negara (dengan kata lain, tidak ada bidang). Bukankah properti membuat bidang pribadi implisit? Bukankah itu benar-benar buruk untuk antarmuka?

9
Pemrograman untuk penggunaan antarmuka di masa depan
Saya memiliki seorang kolega yang duduk di sebelah saya yang mendesain antarmuka seperti ini: public interface IEventGetter { public List<FooType> getFooList(String fooName, Date start, Date end) throws Exception; .... } Masalahnya adalah, saat ini, kita tidak menggunakan parameter "end" ini di mana pun dalam kode kita, itu hanya ada karena …

4
Apa yang dimaksud Rich Hickey ketika dia berkata, "Semua kekhususan [antarmuka / kelas / tipe] ini membunuh Anda!"
Dalam konferensi goto yang dipikirkan oleh Rich Hickey, keynote conference " The Value of Values " pada 29 menit dia berbicara tentang overhead bahasa seperti Java dan membuat pernyataan seperti, "Semua antarmuka membunuh penggunaan kembali Anda." Apa yang dia maksud Benarkah? Dalam pencarian saya untuk jawaban, saya telah menemukan: Prinsip …


11
Apakah kelas / metode abstrak sudah usang?
Saya biasa membuat banyak kelas / metode abstrak. Kemudian saya mulai menggunakan antarmuka. Sekarang saya tidak yakin apakah antarmuka tidak membuat kelas abstrak menjadi usang. Anda membutuhkan kelas yang sepenuhnya abstrak? Buat antarmuka sebagai gantinya. Anda memerlukan kelas abstrak dengan beberapa implementasi di dalamnya? Buat antarmuka, buat kelas. Mewarisi kelas, …

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.