Pertanyaan yang diberi tag «object-oriented-design»

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

3
Cara mematuhi prinsip terbuka-tertutup dalam praktik
Saya mengerti maksud dari prinsip buka-tutup. Ini dimaksudkan untuk mengurangi risiko melanggar sesuatu yang sudah berfungsi saat memodifikasinya, dengan memberitahu Anda untuk mencoba memperluas tanpa memodifikasi. Namun, saya kesulitan memahami bagaimana prinsip ini diterapkan dalam praktik. Menurut pemahaman saya, ada dua cara untuk menerapkannya. Sebelumnya dan setelah perubahan yang memungkinkan: …


2
Desain: Metode objek vs metode kelas terpisah yang mengambil Objek sebagai parameter?
Misalnya, apakah lebih baik melakukan: Pdf pdf = new Pdf(); pdf.Print(); atau: Pdf pdf = new Pdf(); PdfPrinter printer = new PdfPrinter(); printer.Print(pdf); Contoh lain: Country m = new Country("Mexico"); double ratio = m.GetDebtToGDPRatio(); atau: Country m = new Country("Mexico"); Country us = new Country("US"); DebtStatistics ds = new DebtStatistics(); …

2
Stack memperpanjang LinkedList. Pelanggaran Prinsip Pergantian Liskov?
Kelas LinkedList ada dengan fungsi-fungsi seperti add_first (), add_last (), add_after (), remove_first (), remove_last (), dan remove () Sekarang ada kelas Stack yang menyediakan fungsionalitas seperti push (), pop (), peek () atau top (), dan untuk mengimplementasikan metode ini ia memperluas metode kelas LinkedList. Apakah ini merupakan pelanggaran …



1
Invarian seumur hidup objek vs semantik bergerak
Ketika saya mempelajari C ++ sejak lama, sangat ditekankan kepada saya bahwa bagian dari titik C ++ adalah seperti halnya loop memiliki "loop-invariants", kelas juga memiliki invarian yang terkait dengan masa hidup objek - hal-hal yang seharusnya benar selama benda itu hidup. Hal-hal yang harus ditetapkan oleh konstruktor, dan dilestarikan …

4
Strategi implementasi yang baik untuk merangkum data bersama dalam pipa perangkat lunak
Saya sedang berupaya mempertimbangkan ulang aspek-aspek tertentu dari layanan web yang ada. Cara API layanan diimplementasikan adalah dengan memiliki semacam "pipeline pemrosesan", di mana ada tugas yang dilakukan secara berurutan. Tidak mengherankan, tugas-tugas selanjutnya mungkin memerlukan informasi yang dihitung oleh tugas-tugas sebelumnya, dan saat ini cara ini dilakukan adalah dengan …

7
Desain: Memanggil kembali ke kelas induk
Ketika memodelkan suatu objek dengan anak-anak, biasanya memasukkan anak-anak melalui komposisi, sebagai anggota kelas induk. Namun terkadang anak-anak perlu memberi tahu orang tua sesuatu, mereka perlu memanggil fungsi orang tua. Bagaimana ini bisa dilakukan menggunakan C ++? Beberapa opsi adalah: Jadikan kelas induk global karena itu objek anak akan dapat …

2
Dalam DDD, apakah Layanan Domain pada dasarnya hanya Pola Fasad dan / atau Mediator?
Dalam Desain Berbasis Domain, Lapisan Domain dapat memiliki beberapa layanan (tradisional). Misalnya, untuk domain Pengguna, kami mungkin memiliki: UserFactory, yang membangun objek Pengguna dengan cara yang berbeda UserRepository, yang bertanggung jawab untuk berinteraksi dengan Layanan Kegigihan di Lapisan Infrastruktur Apakah Layanan Pengguna dalam Lapisan Domain hanyalah Mediator dan / atau …

2
Bagaimana cara menghindari duplikasi struktur data ketika bagian dari aplikasi ditulis dalam bahasa yang berbeda?
Sebagai contoh, katakan Anda sedang menulis aplikasi di Jawa . Aplikasi Anda berkomunikasi dengan server API yang ditulis dengan Python . Server Python berkomunikasi dengan database SQL . Anda juga memiliki situs web untuk aplikasi Anda yang ditulis dalam JavaScript . Dengan 4 bahasa yang berbeda, mudah untuk akhirnya mengulangi …

2
Bagaimana sebenarnya mencari tahu apa yang harus dilakukan dalam desain berorientasi objek?
Pertama penafian: Saya tidak benar-benar tahu apakah pertanyaan ini cocok dengan situs web ini, tetapi saya masih menemukan itu pertanyaan yang relevan tidak hanya untuk saya tetapi untuk orang lain yang masih pemula. Jika pertanyaan dapat ditingkatkan agar sesuai di sini, harap tunjukkan komentar int. Jika tidak cocok, beri tahu …




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.