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
Konteks permintaan global - anti-pola?
Saya berbicara hari ini dengan seorang rekan kerja saya tentang kerangka kerja web Python dan kesan kami tentang mereka. Saya mengatakan kepadanya bahwa saya pikir Flask memiliki permintaan global berbau tidak enak dan merupakan anti-pola. The docs katakan tentang konteks permintaan: Sebaliknya, selama penanganan permintaan, ada beberapa aturan lain: saat …

1
Menggunakan pola pengunjung dengan hierarki objek besar
Konteks Saya telah menggunakan dengan hierarki objek (pohon ekspresi) pola pengunjung "semu" (semu, karena di dalamnya tidak menggunakan pengiriman ganda): public interface MyInterface { void Accept(SomeClass operationClass); } public class MyImpl : MyInterface { public void Accept(SomeClass operationClass) { operationClass.DoSomething(); operationClass.DoSomethingElse(); // ... and so on ... } } Desain …

3
Bagaimana Anda mendekati desain kelas di OOP?
Ketika saya mencoba merancang solusi OO, saya biasanya menggunakan pemodelan CRC di mana saya mencantumkan nama kelas (kata benda), apa yang mereka lakukan (kata kerja) dan bagaimana mereka berkolaborasi dengan kelas lain. Blog ini memiliki hal di bawah ini untuk dikatakan tentang pendekatan kata benda ini ...This approach, which I …

5
Apakah Anda memanfaatkan manfaat dari prinsip terbuka-tertutup?
Prinsip open-closed (OCP) menyatakan bahwa suatu objek harus terbuka untuk ekstensi tetapi ditutup untuk modifikasi. Saya percaya saya memahaminya dan menggunakannya bersama dengan SRP untuk membuat kelas yang hanya melakukan satu hal. Dan, saya mencoba membuat banyak metode kecil yang memungkinkan untuk mengekstrak semua kontrol perilaku menjadi metode yang dapat …


4
Layanan MVC dan RESTful API
MVC cukup mudah. Ada Model, Pengontrol dan Tampilan. Saat kami membuat situs web, semuanya datang bersamaan karena ' klien mengirimkan permintaan kata kunci REST ke server -> server mencocokkan URL yang diminta dengan tindakan pengontrol -> yang kemudian memanggil model untuk pengumpulan / pemrosesan data, dapatkan hasilnya -> dan mengembalikan …

2
Bukankah Sistem Entitas-Komponen mengerikan untuk decoupling / menyembunyikan informasi?
Judulnya sengaja hiperbolik dan mungkin hanya pengalaman saya dengan polanya tapi inilah alasan saya: Cara "biasa" atau bisa langsung dari entitas pelaksana adalah dengan mengimplementasikannya sebagai objek dan mensubklasifikasikan perilaku umum. Ini mengarah ke masalah klasik "adalah EvilTreesubclass dari Treeatau Enemy?". Jika kita mengizinkan beberapa warisan, masalah intan muncul. Sebagai …


3
Cara melakukan validasi input tanpa pengecualian atau redundansi
Ketika saya mencoba membuat antarmuka untuk program tertentu, saya biasanya berusaha menghindari pengecualian yang bergantung pada input yang tidak divalidasi. Jadi yang sering terjadi adalah saya sudah memikirkan sepotong kode seperti ini (ini hanya contoh demi contoh, jangan pedulikan fungsi yang dijalankannya, contoh di Jawa): public static String padToEvenOriginal(int evenSize, …

2
Memisahkan Business logic dari DB-logic dengan transaksi
Kami memiliki tiga lapisan dalam aplikasi kami. Lapisan layanan untuk menyediakan API eksternal. Lapisan BO untuk logika bisnis kami, dan lapisan DAO untuk koneksi basis data kami. Katakanlah setiap kali kita memperbarui File, kita juga ingin mengubah sesuatu di Folder, misalnya 'tanggal modifikasi terakhir'. Ini perlu dilakukan dalam transaksi. Entah …

7
Implementasi status objek dalam bahasa OO?
Saya telah diberi beberapa kode Java untuk dilihat, yang mensimulasikan perlombaan mobil, yang mencakup implementasi mesin keadaan dasar. Ini bukan mesin negara ilmu komputer klasik, tetapi hanya sebuah objek yang dapat memiliki beberapa negara, dan dapat beralih di antara negara-negara berdasarkan serangkaian perhitungan. Untuk menjelaskan masalahnya, saya punya kelas Mobil, …

2
Prinsip KERING dalam praktik yang baik?
Saya mencoba mengikuti prinsip KERING dalam pemrograman saya sekuat yang saya bisa. Baru-baru ini saya telah belajar pola desain di OOP dan akhirnya saya mengulangi cukup banyak. Saya telah membuat pola Repositori bersama dengan pola Pabrik dan Gateway untuk menangani kegigihan saya. Saya menggunakan database dalam aplikasi saya tapi itu …

5
Antarmuka terpisah untuk metode mutasi
Saya telah bekerja pada refactoring beberapa kode, dan saya pikir saya mungkin telah mengambil langkah pertama ke lubang kelinci. Saya menulis contoh di Jawa, tapi saya kira itu bisa menjadi agnostik. Saya memiliki antarmuka yang Foodidefinisikan sebagai public interface Foo { int getX(); int getY(); int getZ(); } Dan implementasi …

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.