Pertanyaan yang diberi tag «design-patterns»

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

4
Bagaimana cara berpikir tentang pola desain dan praktik OOP berubah dalam bahasa yang dinamis dan diketik dengan lemah?
Sudah ada pertanyaan yang cukup membantu di sepanjang garis ini (" Pola Desain Non-OOP? "), Tetapi saya lebih ingin tahu tentang sudut pandang transisi untuk seseorang yang baru memulai dengan bahasa yang dinamis dan diketik dengan lemah. Yaitu: katakanlah saya telah memprogram dalam C ++, C #, atau Java selama …

5
Pola Desain Strategi Yang Dimodifikasi
Saya sudah mulai melihat ke Pola Desain baru-baru ini, dan satu hal yang saya koding akan cocok dengan pola Strategi dengan sempurna, kecuali untuk satu perbedaan kecil. Pada dasarnya, beberapa (tetapi tidak semua) dari algoritma saya, memerlukan satu atau dua parameter tambahan yang diteruskan ke mereka. Jadi saya juga perlu …

2
Static Buat metode - pro dan kontra dibandingkan dengan konstruktor
Apa pro dan kontra dari memiliki metode pembuatan objek statis di atas konstruktor? class Foo { private Foo(object arg) { } public static Foo Create(object arg) { if (!ValidateParam(arg)) { return null; } return new Foo(arg); } } Beberapa yang bisa saya pikirkan: Pro: Kembalikan nol alih-alih melempar pengecualian (beri …


2
Lapisan layanan aplikasi memanggil fungsi database. Arsitektur yang buruk?
Skenario: Stack: Java, Spring, Hibernate. Model: Aplikasi Client-Server. Pola: Model-View-Controller (MVC). Kelas-kelas Lapisan Layanan memiliki tiga perilaku: Beberapa layanan memiliki aturan bisnis dalam metode dan mendelegasikan ketekunan ke aplikasi. Suka: EntityManager.save (entitas); Beberapa layanan cukup memanggil fungsi basis data (melewati parameter) Seperti: CallableStatement cls = con.prepareCall ("{call databaseFunction (args)}"); Beberapa …

1
Bagaimana Inversi Kontrol terkait dengan Ketergantungan Inversi
Dalam banyak artikel di seluruh web, istilah Inversi Kontrol dan Ketergantungan Prinsip Inversi tampaknya digabungkan dan digunakan sebagai sinonim (kebingungan lebih lanjut ditegakkan oleh alat yang disebut "DI-Containers" dan "IoC-Containers"). Artikel Wikipedia melakukan pekerjaan yang bagus untuk menjelaskan bahwa IoC tidak sama dengan DI: inversion of control (IoC) menjelaskan desain …

2
Arsitektur / layering proyek .NET MVC
Ketika merencanakan arsitektur untuk aplikasi web MVC skala menengah-besar, bagaimana Anda mengimplementasikan layer agar dapat dipisahkan sebanyak mungkin dan mudah untuk diuji? (pada dasarnya ikuti praktik terbaik) Katakanlah saya menggunakan kode terlebih dahulu sebagai akses data saya. Saya berjuang dengan apa yang mendefinisikan "logika bisnis" sebagai, dan bagaimana itu dimaksudkan …

6
Apa cara praktis untuk menerapkan SRP?
Apa saja teknik praktis yang digunakan orang untuk memeriksa apakah suatu kelas melanggar prinsip tanggung jawab tunggal? Saya tahu bahwa sebuah kelas seharusnya hanya memiliki satu alasan untuk berubah, tetapi kalimat itu agak kurang praktis untuk benar-benar mengimplementasikannya. Satu-satunya cara yang saya temukan adalah dengan menggunakan kalimat "The ......... seharusnya …

1
OOP ECS vs ECS Murni
Pertama, saya sadar bahwa pertanyaan ini terkait dengan topik pengembangan game, tetapi saya telah memutuskan untuk menanyakannya di sini karena pertanyaan tersebut benar-benar mengarah ke masalah pembuatan perangkat lunak yang lebih umum. Selama sebulan terakhir, saya telah membaca banyak tentang Entity-Component-Systems dan sekarang cukup nyaman dengan konsepnya. Namun, ada satu …

4
Pola Duplikasi Kelas?
Saat ini saya bekerja sebagai pengembang solo di proyek saya saat ini. Saya mewarisi proyek dari pengembang lain, yang sejak itu meninggalkan perusahaan. Ini adalah aplikasi web gaya model-view-controller di C #. Ini menggunakan Kerangka Entitas untuk pemetaan relasional objek. Dan ada dua set kelas yang berbeda untuk tipe dalam …

5
Pola desain OOP terbaik untuk urutan operasi
Saya sedang mengerjakan aplikasi, modul yang melakukan operasi keuangan berikut secara berurutan: Ketika seorang pengguna meminta jumlah tertentu untuk ditransfer ke rekening banknya: periksa apakah ada transaksi yang dapat terjadi sekarang? (transaksi hanya dapat dilakukan selama periode waktu tertentu) periksa apakah pengguna telah meminta jumlah minimum untuk ditarik periksa apakah …

4
Pola desain untuk membungkus logging di sekitar eksekusi
pengantar Saya menerapkan kelas Java abstrak dari kerangka kerja pemrosesan *. Dengan menerapkan fungsi ini execute, saya dapat menambahkan fungsionalitas logis bisnis. Saya ingin menambahkan pencatatan pada awal dan akhir setiap implementasi dari setiap fungsi eksekusi saya. Juga di antara beberapa penebangan, jika hal-hal tertentu dilakukan. Namun, saya ingin membuatnya …



4
Apakah cara memanggil fungsi ini merupakan praktik yang buruk?
Saya memiliki kode berikut: public void moveCameraTo(Location location){ moveCameraTo(location.getLatitude(), location.getLongitude()); } public void moveCameraTo(double latitude, double longitude){ LatLng latLng = new LatLng(latitude, longitude); moveCameraTo(latLng); } public void moveCameraTo(LatLng latLng){ GoogleMap googleMap = getGoogleMap(); cameraUpdate = CameraUpdateFactory.newLatLngZoom(latLng, INITIAL_MAP_ZOOM_LEVEL); googleMap.moveCamera(cameraUpdate); } Saya berpikir bahwa dengan cara ini saya menghilangkan tanggung jawab untuk …

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.