Pertanyaan yang diberi tag «c#»

C # adalah bahasa pemrograman berorientasi objek multiparadigma, terkelola, pengumpulan sampah yang dibuat oleh Microsoft secara paralel dengan platform .NET



6
Apa kelemahan dari tipe yang tidak dapat diubah?
Saya melihat diri saya menggunakan lebih banyak tipe yang tidak dapat diubah ketika instance kelas tidak diharapkan untuk diubah . Ini membutuhkan lebih banyak pekerjaan (lihat contoh di bawah), tetapi membuatnya lebih mudah untuk menggunakan tipe-tipe dalam lingkungan multithreaded. Pada saat yang sama, saya jarang melihat tipe yang tidak dapat …
12 c#  immutability 

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 …

4
Objek Bisnis dalam Lapisan Akses Data
Jadi saya telah membuat lapisan akses data melalui TDD dan telah mendekati sedikit masalah. Saya lebih suka tidak memulai jalan yang salah, jadi saya pikir saya akan meminta kalian untuk melihat apakah pikiran saya sejalan dengan arsitektur yang bersih. Metode dalam Lapisan Akses Data saya (DAL singkatnya), cukup sederhana. Mereka …



4
Cara terbersih untuk menulis perangkat lunak prosedural secara logis dalam bahasa OO
Saya seorang insinyur listrik dan saya tidak tahu apa yang saya lakukan. Harap simpan pengelola kode saya di masa mendatang. Baru-baru ini saya telah mengerjakan sejumlah program yang lebih kecil (dalam C #) yang fungsinya secara logis "prosedural". Sebagai contoh, salah satunya adalah program yang mengumpulkan informasi dari database yang …


2
Apakah antarmuka IComparable sudah usang / "berbahaya"?
IComparable hanya bekerja satu arah Katakanlah Anda memiliki Employeekelas. Dalam satu tampilan, Anda ingin menampilkan semua yang Employeesdiurutkan berdasarkan nama - di tampilan lain, berdasarkan alamat. Bagaimana Anda akan mencapai itu? Tidak dengan IComparable, setidaknya tidak dengan cara idiomatis. IComparable memiliki logika di tempat yang salah Antarmuka digunakan dengan memanggil …
11 c#  sorting  comparison 

2
Unit Test untuk menguji pembuatan Objek Domain
Saya memiliki Tes Unit, yang terlihat seperti ini: [Test] public void Should_create_person() { Assert.DoesNotThrow(() => new Person(Guid.NewGuid(), new DateTime(1972, 01, 01)); } Saya menyatakan bahwa objek Orang dibuat di sini yaitu validasi yang tidak gagal. Misalnya, jika Guid adalah nol atau tanggal lahir lebih awal dari 01/01/1900, maka validasi akan …


1
Bagaimana saya bisa menerapkan pola MVC ke aplikasi C # WinForms?
Saya seorang pengembang C ++ yang telah menggunakan pola MVC untuk merancang GUI sejak saat itu. Baru-baru ini saya ingin kembali ke C #, dan saya mengatur aplikasi Windows Forms, tetapi sekarang saya sedikit bingung tentang bagaimana mendorongnya ke struktur yang sesuai dengan MVC. Apa yang saya coba lakukan saat …
11 c#  mvc  winforms 

4
Bagaimana cara menentukan prasyarat (LSP) di antarmuka dalam C #?
Katakanlah kita memiliki antarmuka berikut - interface IDatabase { string ConnectionString{get;set;} void ExecuteNoQuery(string sql); void ExecuteNoQuery(string[] sql); //Various other methods all requiring ConnectionString to be set } Prasyaratnya adalah ConnectionString harus diatur / diinternisasi sebelum salah satu metode dapat dijalankan. Prasyarat ini dapat agak dicapai dengan melewatkan koneksiString melalui konstruktor …

3
Kerangka Entitas dan menghindari Model Domain Anemik
Dalam logika bisnis kami, kami terkadang menetapkan metode seperti ini: User.ResetCourse(Course courseToReset) Masalahnya adalah bahwa Pengguna dan Kursus adalah objek proxy Entity Framework. Ini berarti bahwa ketika kita menekan properti navigasi pada Pengguna atau Kursus itu dapat menyebabkan hit besar ke database karena objek-objek tersebut tidak dapat IQuery sehingga beralih …

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.