Pertanyaan yang diberi tag «design-patterns»

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


9
Pola Desain: Haruskah saya mempelajarinya? [Tutup]
Tutup. Pertanyaan ini di luar topik . Saat ini tidak menerima jawaban. Ingin meningkatkan pertanyaan ini? Perbarui pertanyaan sehingga sesuai topik untuk Rekayasa Perangkat Lunak Stack Exchange. Ditutup 4 tahun yang lalu . Jadi agak aneh mengajukan dua pertanyaan secara berurutan, tetapi mereka tidak terlalu terkait dan saya tidak ingin …



6
DDD memenuhi OOP: Bagaimana menerapkan repositori berorientasi objek?
Implementasi khas dari repositori DDD tidak terlihat sangat OO, misalnya save()metode: package com.example.domain; public class Product { /* public attributes for brevity */ public String name; public Double price; } public interface ProductRepo { void save(Product product); } Bagian infrastruktur: package com.example.infrastructure; // imports... public class JdbcProductRepo implements ProductRepo { …

1
Menggunakan kelas teman untuk merangkum fungsi anggota pribadi di C ++ - praktik atau penyalahgunaan yang baik?
Jadi saya perhatikan mungkin untuk menghindari menempatkan fungsi pribadi di header dengan melakukan sesuatu seperti ini: // In file pred_list.h: class PredicateList { int somePrivateField; friend class PredicateList_HelperFunctions; public: bool match(); } // In file pred_list.cpp: class PredicateList_HelperFunctions { static bool fullMatch(PredicateList& p) { return p.somePrivateField == 5; // or …

4
Bagaimana seharusnya sebuah kelas berkomunikasi dengan penggunanya yang merupakan bagian dari metode yang diterapkannya?
Skenario Aplikasi web mendefinisikan antarmuka backend pengguna IUserBackenddengan metode getUser (uid) createUser (uid) deleteUser (uid) setPassword (uid, kata sandi) ... Backend pengguna yang berbeda (misalnya LDAP, SQL, ...) mengimplementasikan antarmuka ini tetapi tidak setiap backend dapat melakukan semuanya. Misalnya server LDAP konkret tidak memungkinkan aplikasi web ini menghapus pengguna. Jadi …

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 …


8
Desain yang tepat untuk kelas dengan satu metode yang dapat bervariasi antar pelanggan
Saya memiliki kelas yang digunakan untuk memproses pembayaran pelanggan. Semua kecuali satu dari metode kelas ini adalah sama untuk setiap pelanggan, kecuali satu yang menghitung (misalnya) berapa banyak pengguna berutang kepada pelanggan. Ini dapat sangat bervariasi dari pelanggan ke pelanggan dan tidak ada cara mudah untuk menangkap logika perhitungan dalam …


3
Memahami pola Flux
Saya sebenarnya mempelajari pola fluks dan ada sesuatu yang saya tidak mengerti tentang toko . Apa sebenarnya mereka? Saya telah membaca banyak artikel, dan sepertinya itu menyangkut domain. Apakah ini berarti bahwa ini adalah bagian "abstrak" yang terkait dengan panggilan api atau panggilan backend? Tidak begitu jelas bagi saya. Sunting: …

2
Mengapa 'zip' mengabaikan ekor koleksi yang menggantung?
C # , Scala, Haskell, Lisp dan Python memiliki zipperilaku yang sama : jika satu koleksi lebih panjang, ekor diabaikan secara diam-diam. Ini bisa menjadi pengecualian yang dilemparkan juga, tetapi saya tidak mendengar adanya bahasa yang menggunakan pendekatan ini. Ini membuatku bingung. Adakah yang tahu alasan mengapa zipdirancang seperti itu? …

2
Bagaimana saya harus menangani kegagalan logger?
Di beberapa aplikasi perusahaan kami, kami menggunakan logger khusus. Ini cukup kuat, meskipun kami dapat menggantinya dengan sesuatu seperti NLog di masa depan. Salah satu tugas logger adalah mencatat pengecualian yang ditemukan dalam aplikasi. Satu kekhawatiran yang selalu saya miliki adalah bahwa penanganan pengecualian di dalam logger memungkinkan kegagalan diam. …


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.