Pertanyaan yang diberi tag «interfaces»

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

5
Bagaimana cara menerapkan prinsip Segregasi Antarmuka dalam C?
Saya memiliki modul, katakan 'M', yang memiliki beberapa klien, katakan 'C1', 'C2', 'C3'. Saya ingin membagi namespace modul M, yaitu deklarasi API dan data yang dipaparkannya, ke dalam file header sedemikian rupa sehingga - untuk klien mana pun hanya data dan API yang diperlukannya yang terlihat; sisa namespace modul disembunyikan …
15 c  interfaces  solid 

5
Menggunakan Func, bukan antarmuka untuk IoC
Konteks: Saya menggunakan C # Saya merancang sebuah kelas, dan untuk mengisolasinya, dan membuat pengujian unit lebih mudah, saya memberikan semua dependensinya; tidak ada instantiasi objek secara internal. Namun, alih-alih referensi antarmuka untuk mendapatkan data yang dibutuhkan, saya memilikinya referensi tujuan umum. Fungsi mengembalikan data / perilaku yang diperlukan. Ketika …

2
Sekarang tidak semua deklarasi metode dalam Java Interface adalah abstrak publik, haruskah metode tersebut dideklarasikan dengan pengubah ini?
Dimulai dengan Java 8, defaultmetode diperkenalkan ke antarmuka. Secara efektif, ini berarti bahwa tidak semua metode dalam suatu interfaceare abstract. Dimulai dengan Java 9 (mungkin), privatemetode akan diizinkan. Ini berarti bahwa tidak semua metode di dalam interfaceadalah public abstract. Pertanyaan "Haruskah metode dalam antarmuka Java dideklarasikan dengan atau tanpa publicpengubah …

1
Apakah praktik yang baik untuk menerapkan dua metode standar Java 8 dalam hal satu sama lain?
Saya merancang antarmuka dengan dua metode terkait, mirip dengan ini: public interface ThingComputer { default Thing computeFirstThing() { return computeAllThings().get(0); } default List<Thing> computeAllThings() { return ImmutableList.of(computeFirstThing()); } } Sekitar setengah implementasi hanya akan menghitung satu hal, sedangkan setengah lainnya dapat menghitung lebih. Apakah ini memiliki preseden dalam kode Java …


5
Haruskah saya menulis antarmuka API sebelum implementasi?
Saya telah mempelajari lebih dalam pemrograman "terorganisir" baru-baru ini dan saya telah belajar bahwa saya harus pemrograman ke antarmuka, bukan implementasi. Dengan mengingat hal itu, apakah akan lebih baik untuk "membuat sketsa" proyek dalam antarmuka sebelum menulis implementasi untuk itu jika memungkinkan? Dan jika ini masalahnya, dalam kasus menggunakan perpustakaan …

3
Haruskah saya mengimplementasikan antarmuka secara langsung atau meminta superclass melakukannya?
Apakah ada perbedaan di antara keduanya public class A extends AbstractB implements C {...} melawan... public class A extends AbstractB {...} abstract class AbstractB implements C {...} Saya mengerti bahwa dalam kedua kasus, kelas A akan berakhir sesuai dengan antarmuka. Dalam kasus kedua, AbstractBdapat menyediakan implementasi untuk metode antarmuka di …

6
Cara menerapkan hanya sebagian dari antarmuka
Saat berkembang dalam OOP, terkadang antarmuka / kontrak diberikan oleh perpustakaan yang tidak dapat Anda ubah. Sebut saja antarmuka ini J. Sekarang Anda memiliki objek kelas A yang mengkonsumsi objek yang mengimplementasikan antarmuka ini. Di dalam Hanya diperlukan sebagian kecil dari definisi antarmuka. Beberapa kelas objek dibuat oleh saya selama …

1
Penggunaan Metode Default Java
Selama beberapa dekade itu menjadi hal interface yang hanya hanya (hanya) untuk menentukan metode tanda tangan. Kami diberitahu bahwa ini adalah "cara yang tepat untuk melakukan sesuatu ™". Kemudian Java 8 keluar dan berkata: Nah, eh, eh, sekarang Anda bisa mendefinisikan metode default. Harus lari, bye. Saya ingin tahu bagaimana …


4
Dua antarmuka dengan tanda tangan identik
Saya mencoba membuat model permainan kartu di mana kartu memiliki dua set fitur penting: Yang pertama adalah efek. Ini adalah perubahan kondisi permainan yang terjadi saat Anda memainkan kartu. Antarmuka untuk efek adalah sebagai berikut: boolean isPlayable(Player p, GameState gs); void play(Player p, GameState gs); Dan Anda dapat menganggap kartu …
13 interfaces 



4
Apakah antarmuka dan tanda tangan metode dilindungi hak cipta?
Sebagai contoh, apakah ini merupakan pelanggaran hak cipta jika saya menulis kelas yang disebut Acak dengan tujuan dan metode yang sama persis dengan tanda tangan Microsoft .Net System. Kelas acak? Apakah ada bedanya bahasa apa itu ditulis? Dalam hal ini saya ingin menulis kelas acak untuk digunakan dalam ActionScript, yang …

3
Komposisi atas warisan tetapi
Saya mencoba mengajari diri saya sendiri rekayasa perangkat lunak dan menghadapi beberapa informasi yang saling bertentangan yang membingungkan saya. Saya telah belajar OOP dan apa kelas abstrak / Antarmuka dan bagaimana menggunakannya, tapi kemudian saya membaca bahwa orang harus 'lebih menyukai komposisi daripada warisan'. Saya mengerti komposisi adalah ketika satu …

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.