Pertanyaan yang diberi tag «design-patterns»

Pola desain adalah solusi umum yang dapat digunakan kembali untuk masalah yang biasa terjadi dalam desain perangkat lunak.


3
Bagaimana cara mendesain alur kerja situs web?
Saya telah memikirkan hal ini untuk waktu yang sangat lama tanpa mencapai jawaban yang optimal. Pertama-tama, saya adalah seorang dokter medis yang suka pemrograman tetapi tidak pernah benar-benar mempelajarinya, kecuali untuk belajar di rumah dan banyak tahun bermain-main dengan kode di waktu luang saya. Saat ini saya sedang mencoba membangun …



5
Mengapa MVC lebih populer daripada PAC? [Tutup]
Ditutup . Pertanyaan ini didasarkan pada pendapat . Saat ini tidak menerima jawaban. Ingin meningkatkan pertanyaan ini? Perbarui pertanyaan sehingga dapat dijawab dengan fakta dan kutipan dengan mengedit posting ini . Ditutup 4 tahun yang lalu . Saya baru saja menemukan pertanyaan di SO tentang PAC dan mulai tertarik pada …

1
Apa priming pompa? Terkadang disebut priming read
Saya diajari ungkapan dan pola ini sejak dulu. Tentu, nama itu berasal dari pompa lama yang perlu diisi dengan air sebelum bisa memompa air, tetapi siapa yang peduli? Kita berbicara tentang kode di sini. Beberapa contoh yang sangat bagus dan penjelasan tentang apa yang dicapai pola akan diterima. Bagaimana pola …

2
Prinsip paling tidak mengejutkan (POLA) dan antarmuka
Seperempat abad yang lalu ketika saya sedang belajar C ++, saya diajarkan bahwa antarmuka harus memaafkan dan sejauh mungkin tidak peduli tentang urutan metode yang dipanggil karena konsumen mungkin tidak memiliki akses ke sumber atau dokumentasi sebagai pengganti ini. Namun, setiap kali saya membimbing para programmer junior dan senior devs …

4
Apakah Prinsip Tanggung Jawab Tunggal berlaku untuk fungsi?
Menurut Robert C. Martin, SRP menyatakan bahwa: Seharusnya tidak ada lebih dari satu alasan bagi kelas untuk berubah. Namun, dalam bukunya Clean Code , bab 3: Functions, ia menunjukkan blok kode berikut: public Money calculatePay(Employee e) throws InvalidEmployeeType { switch (e.type) { case COMMISSIONED: return calculateCommissionedPay(e); case HOURLY: return calculateHourlyPay(e); …

5
Apakah enum membuat antarmuka yang rapuh?
Perhatikan contoh di bawah ini. Setiap perubahan pada enum ColorChoice mempengaruhi semua subkelas IWindowColor. Apakah enum cenderung menyebabkan antarmuka yang rapuh? Adakah sesuatu yang lebih baik daripada enum untuk memungkinkan fleksibilitas polimorfik yang lebih banyak? enum class ColorChoice { Blue = 0, Red = 1 }; class IWindowColor { public: …


8
Apakah Injeksi Ketergantungan layak dilakukan di luar UnitTesting
Mengingat konstruktor yang tidak akan pernah, harus menggunakan implementasi berbeda dari beberapa objek yang diinisialisasi, apakah masih praktis untuk menggunakan DI? Bagaimanapun, kita mungkin masih ingin unit test. Kelas yang bersangkutan menginisialisasi beberapa kelas lain di konstruktornya dan kelas yang digunakannya cukup spesifik. Itu tidak akan pernah menggunakan implementasi lain. …

1
Apakah Prinsip Substitusi Liskov juga berlaku untuk kelas yang mengimplementasikan antarmuka?
LSP menyatakan bahwa kelas harus dapat disubstitusikan untuk kelas dasar mereka, yang berarti kelas turunan dan kelas dasar harus setara secara semantik. Tetapi apakah LSP juga berlaku untuk kelas yang mengimplementasikan antarmuka? Dengan kata lain, jika metode antarmuka yang diterapkan oleh suatu kelas secara semantik berbeda dari apa yang diharapkan …


2
Hubungan antara Repositori dan Unit Kerja
Saya akan mengimplementasikan repositori, dan saya ingin menggunakan pola UOW karena konsumen repositori dapat melakukan beberapa operasi, dan saya ingin mengkomitnya sekaligus. Setelah membaca beberapa artikel tentang masalah ini, saya masih belum mengerti bagaimana menghubungkan kedua elemen ini, tergantung pada artikel yang sedang dikerjakan dengan cara yang lain. Kadang-kadang UOW …

6
Strategi untuk menghindari SQL di Pengontrol Anda ... atau berapa banyak metode yang harus saya miliki dalam Model saya?
Jadi situasi yang sering saya temui adalah situasi di mana model saya mulai: Tumbuh menjadi monster dengan berton-ton metode ATAU Memungkinkan Anda mengirimkan potongan-potongan SQL kepada mereka, sehingga mereka cukup fleksibel untuk tidak memerlukan jutaan metode berbeda Misalnya, kita memiliki model "widget". Kami mulai dengan beberapa metode dasar: dapatkan ($ …

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.