Pertanyaan yang diberi tag «object-oriented-design»

Desain berorientasi objek adalah proses perencanaan sistem objek yang berinteraksi untuk tujuan memecahkan masalah perangkat lunak.

10
Bisakah kita hidup tanpa konstruktor?
Katakanlah dalam beberapa alasan semua objek dibuat dengan cara ini $ obj = CLASS :: getInstance (). Kemudian kami menyuntikkan dependensi menggunakan setter dan melakukan inisialisasi mulai menggunakan $ obj-> initInstance (); Apakah ada masalah atau situasi nyata, yang tidak dapat diselesaikan, jika kita tidak menggunakan konstruktor sama sekali? Ps …


12
Desain Berorientasi Objek
Misalkan Anda memiliki yang berikut: +--------+ +------+ | Animal | | Food | +-+------+ +----+-+ ^ ^ | | | | +------+ +-------+ | Deer | | Grass | +------+ +-------+ Deermewarisi dari Animal, dan Grassmewarisi dari Food. Sejauh ini baik. Animalbenda bisa memakan Foodbenda. Sekarang mari kita campur sedikit. …

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 …


9
Kapan Anda harus menggunakan kelas pribadi / dalam?
Untuk memperjelas, yang saya tanyakan adalah public class A{ private/*or public*/ B b; } vs. public class A{ private/*or public*/ class B{ .... } } Saya pasti dapat memikirkan beberapa alasan untuk menggunakan satu atau yang lain, tetapi apa yang saya benar-benar ingin lihat adalah contoh meyakinkan yang menunjukkan bahwa …


3
Desain terbaik untuk formulir Windows yang akan berbagi fungsionalitas umum
Di masa lalu, saya telah menggunakan warisan untuk memungkinkan ekstensi formulir Windows di aplikasi saya. Jika semua formulir saya akan memiliki kontrol umum, karya seni, dan fungsionalitas, saya akan membuat formulir dasar yang menerapkan kontrol dan fungsionalitas umum dan kemudian mengizinkan kontrol lain untuk mewarisi dari formulir dasar itu. Namun, …

3
Jangan pernah membuat anggota publik virtual / abstrak - benarkah?
Kembali pada tahun 2000-an, seorang kolega saya mengatakan kepada saya bahwa itu adalah anti-pola untuk membuat metode publik virtual atau abstrak. Misalnya, ia menganggap kelas seperti ini tidak dirancang dengan baik: public abstract class PublicAbstractOrVirtual { public abstract void Method1(string argument); public virtual void Method2(string argument) { if (argument == …

9
Apakah metode init () bau kode?
Apakah ada tujuan untuk mendeklarasikan init()metode untuk suatu tipe? Saya tidak bertanya apakah kita harus memilih init()daripada konstruktor atau bagaimana menghindari menyatakaninit() . Aku bertanya apakah ada setiap alasan di balik mendeklarasikan init()metode (melihat bagaimana umum itu) atau jika itu adalah kode bau dan harus dihindari. The init()idiom cukup umum, …


4
Cara membuat kode OO yang lebih baik dalam aplikasi berbasis relasional database di mana database dirancang dengan buruk
Saya menulis aplikasi web Java yang sebagian besar terdiri dari sekelompok halaman serupa di mana setiap halaman memiliki beberapa tabel dan filter yang berlaku untuk tabel tersebut. Data pada tabel ini berasal dari database SQL. Saya menggunakan myBatis sebagai ORM, yang mungkin bukan pilihan terbaik dalam kasus saya, karena database …

7
OO praktik terbaik untuk program C [ditutup]
Ditutup . Pertanyaan ini perlu lebih fokus . Saat ini tidak menerima jawaban. Ingin meningkatkan pertanyaan ini? Perbarui pertanyaan sehingga berfokus pada satu masalah hanya dengan mengedit posting ini . Ditutup 4 tahun yang lalu . "Jika Anda benar-benar ingin gula OO - gunakan C ++" - adalah tanggapan langsung …

1
Mengapa (/ apakah) Bertrand Meyer menganggap subklasifikasi adalah satu-satunya cara untuk memperpanjang modul "tertutup"?
Dalam Konstruksi Perangkat Lunak Berorientasi Objek Meyer (1988) ia mendefinisikan prinsip terbuka / tertutup sebagai berikut: Modul akan dikatakan terbuka jika masih tersedia untuk perpanjangan. Misalnya, harus dimungkinkan untuk menambahkan bidang ke struktur data yang dikandungnya, atau elemen baru ke set fungsi yang dijalankannya. Modul akan dikatakan tertutup jika tersedia …

7
Haruskah saya membuat antarmuka untuk objek transfer data?
Apakah itu ide yang baik atau ide buruk untuk membuat antarmuka untuk objek transfer data? Menganggap bahwa objek biasanya dapat berubah. Meskipun contoh saya di Jawa, itu harus berlaku untuk bahasa lain yang memiliki konsep serupa. interface DataTransferObject { String getName(); void setName(String name); } class RealDataTransferObject implements DataTransferObject { …

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.