Pertanyaan yang diberi tag «object-oriented»

Metodologi yang memungkinkan suatu sistem dimodelkan sebagai sekumpulan objek yang dapat dikontrol dan dimanipulasi secara modular

3
Apakah ada bahasa OO tanpa warisan?
Selama ulasan kode hari ini, seorang rekan saya mengatakan sesuatu yang menarik: prototypehanya berguna ketika Anda membutuhkan warisan - dan kapan warisan merupakan ide bagus ? Saya memikirkan hal ini dan saya menyadari bahwa saya biasanya menggunakan warisan untuk menyiasati kode yang awalnya dirancang dengan buruk. Gaya OO modern lebih …

7
Pola untuk menyebarkan perubahan pada model objek ..?
Berikut adalah skenario umum yang selalu membuat saya frustrasi untuk berurusan. Saya memiliki model objek dengan objek induk. Induk berisi beberapa objek anak. Sesuatu seperti ini. public class Zoo { public List<Animal> Animals { get; set; } public bool IsDirty { get; set; } } Setiap objek anak memiliki berbagai …

9
Prinsip dan nama metode OOP
class Boxer: def punch(self, punching_bag, strength): punching_bag.punch(strength) class PunchingBag: def punch(self, strength): print "Punching bag punched with strength", strength boxer = Boxer() punching_bag = PunchingBag() boxer.punch(punching_bag, 2) Tidak diragukan lagi itu punchadalah nama metode yang bagus untuk petinju. Tapi apakah nama punchjuga bagus untuk metode meninju tas? Dalam kedua kasus …

6
Haruskah suatu objek mengetahui ID-nya sendiri?
obj.idtampaknya cukup umum dan juga tampaknya berada dalam jangkauan sesuatu yang bisa diketahui objek tentang dirinya sendiri. Saya mendapati diri saya bertanya mengapa objek saya harus tahu idnya sendiri? Tampaknya tidak punya alasan untuk memilikinya? Salah satu alasan utama keberadaannya adalah mengambilnya, dan repositori saya perlu mengetahuinya, dan karenanya menggunakannya …


6
Apakah sambungan longgar tanpa pelindung anti-pola?
Kopling yang longgar, bagi beberapa pengembang, adalah perangkat lunak yang dirancang dengan baik. Ini tentu hal yang baik ketika membuat kode lebih fleksibel dalam menghadapi perubahan yang mungkin terjadi di masa mendatang, atau menghindari duplikasi kode. Di sisi lain, upaya untuk secara longgar memasangkan komponen meningkatkan jumlah tipuan dalam suatu …

3
Bagaimana menangani kasus kegagalan dalam konstruktor kelas C ++?
Saya memiliki kelas CPP yang konstruktornya melakukan beberapa operasi. Beberapa operasi ini mungkin gagal. Saya tahu bahwa konstruktor tidak mengembalikan apa pun. Pertanyaan saya adalah, Apakah diizinkan melakukan beberapa operasi selain yang menginisialisasi anggota dalam konstruktor? Apakah mungkin untuk memberi tahu fungsi panggilan bahwa beberapa operasi dalam konstruktor telah gagal? …

4
“Terlalu berorientasi objek”
Saya berasal dari latar belakang OO yang kuat, dan saya baru-baru ini mulai bekerja di sebuah organisasi yang, walaupun kode ini ditulis di Jawa, memiliki penekanan yang jauh lebih sedikit pada desain OO yang baik daripada apa yang biasa saya lakukan. Saya telah diberitahu bahwa saya memperkenalkan "terlalu banyak abstraksi", …


5
Menggunakan kelas statis sebagai ruang nama
Pertanyaan ini dimigrasikan dari Stack Overflow karena dapat dijawab di Rekayasa Perangkat Lunak Stack Exchange. Bermigrasi 8 tahun yang lalu . Saya telah melihat pengembang lain menggunakan kelas statis sebagai ruang nama public static class CategoryA { public class Item1 { public void DoSomething() { } } public class Item2 …


4
Bagaimana meningkatkan cakupan kode secara drastis?
Saya ditugaskan untuk mendapatkan aplikasi warisan di bawah unit test. Pertama beberapa latar belakang tentang aplikasi: Ini adalah 600k LOC Java RCP kode dasar dengan masalah-masalah utama duplikasi kode besar-besaran tanpa enkapsulasi, sebagian besar data pribadi dapat diakses dari luar, beberapa data bisnis juga dibuat lajang sehingga tidak hanya dapat …

5
Apakah kasus khusus dengan fallback melanggar Prinsip Pergantian Liskov?
Katakanlah saya memiliki antarmuka FooInterfaceyang memiliki tanda tangan berikut: interface FooInterface { public function doSomething(SomethingInterface something); } Dan kelas konkret ConcreteFooyang mengimplementasikan antarmuka itu: class ConcreteFoo implements FooInterface { public function doSomething(SomethingInterface something) { } } Saya ingin ConcreteFoo::doSomething()melakukan sesuatu yang unik jika melewati jenis SomethingInterfaceobjek khusus (katakanlah itu disebut …

5
Apa manfaat injeksi ketergantungan dalam kasus di mana hampir setiap orang membutuhkan akses ke struktur data umum?
Ada banyak alasan mengapa global jahat di OOP. Jika jumlah atau ukuran objek yang perlu dibagi terlalu besar untuk secara efisien diteruskan dalam parameter fungsi, biasanya semua orang merekomendasikan Dependency Injection daripada objek global. Namun, dalam kasus di mana hampir semua orang perlu tahu tentang struktur data tertentu, mengapa Ketergantungan …

3
Antarmuka umum vs umum?
Saya tidak ingat kapan saya menulis kelas generik terakhir kali. Setiap kali saya pikir saya membutuhkannya setelah berpikir saya membuat kesimpulan saya tidak membutuhkannya. Jawaban kedua untuk pertanyaan ini membuat saya meminta klarifikasi (karena saya belum bisa berkomentar, saya membuat pertanyaan baru). Jadi mari kita ambil kode yang diberikan sebagai …

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.