Pertanyaan yang diberi tag «constructors»


12
Apakah ada alasan untuk melakukan semua pekerjaan objek dalam konstruktor?
Izinkan saya mengawali ini dengan mengatakan ini bukan kode saya atau kode rekan kerja saya. Bertahun-tahun yang lalu ketika perusahaan kami lebih kecil, kami memiliki beberapa proyek yang perlu kami lakukan sehingga kami tidak memiliki kapasitas untuk itu, jadi mereka di-outsource. Sekarang, saya tidak menentang outsourcing atau kontraktor pada umumnya, …

7
Apakah menggunakan "baru" di konstruktor selalu buruk?
Saya telah membaca bahwa menggunakan "baru" dalam konstruktor (untuk objek lain selain yang bernilai sederhana) adalah praktik yang buruk karena membuat pengujian unit tidak mungkin (karena itu kolaborator tersebut perlu dibuat juga dan tidak dapat diejek). Karena saya tidak benar-benar berpengalaman dalam pengujian unit, saya mencoba mengumpulkan beberapa aturan yang …

9
Validasi parameter konstruktor dalam C # - Praktik terbaik
Apa praktik terbaik untuk validasi parameter konstruktor? Misalkan sedikit C #: public class MyClass { public MyClass(string text) { if (String.IsNullOrEmpty(text)) throw new ArgumentException("Text cannot be empty"); // continue with normal construction } } Apakah bisa diterima untuk melemparkan pengecualian? Alternatif yang saya temui adalah pra-validasi, sebelum membuat contoh: public …

5
Haruskah saya menginisialisasi C struct melalui parameter, atau dengan nilai balik? [Tutup]
Perusahaan tempat saya bekerja menginisialisasi semua struktur data mereka melalui fungsi inisialisasi seperti: //the structure typedef struct{ int a,b,c; } Foo; //the initialize function InitializeFoo(Foo* const foo){ foo->a = x; //derived here based on other data foo->b = y; //derived here based on other data foo->c = z; //derived here …


3
Parameter opsional atau konstruktor kelebihan beban
Saya menerapkan a DelegateCommand, dan ketika saya hendak mengimplementasikan konstruktor, saya menemukan dua pilihan desain berikut: 1: Memiliki banyak konstruktor yang kelebihan beban public DelegateCommand(Action<T> execute) : this(execute, null) { } public DelegateCommand(Action<T> execute, Func<T, bool> canExecute) { this.execute = execute; this.canExecute = canExecute; } 2: Hanya memiliki satu konstruktor …

5
Mengapa itu tidak menjadi pola umum untuk menggunakan setter di konstruktor?
Accessor dan modifier (alias setter dan getter) berguna untuk tiga alasan utama: Mereka membatasi akses ke variabel. Misalnya, variabel dapat diakses, tetapi tidak dimodifikasi. Mereka memvalidasi parameter. Mereka dapat menyebabkan beberapa efek samping. Universitas, kursus online, tutorial, artikel blog, dan contoh kode di web semuanya menekankan tentang pentingnya pengakses dan …


5
Bagaimana Anda dapat menguraikan konstruktor?
Katakanlah saya memiliki kelas Musuh, dan konstruktor akan terlihat seperti: public Enemy(String name, float width, float height, Vector2 position, float speed, int maxHp, int attackDamage, int defense... etc.){} Ini terlihat buruk karena konstruktor memiliki begitu banyak parameter, tetapi ketika saya membuat contoh Musuh saya perlu menentukan semua hal ini. Saya …


3
seberapa rumit konstruktor seharusnya
Saya sedang berdiskusi dengan rekan kerja saya tentang seberapa banyak pekerjaan yang dapat dilakukan oleh seorang konstruktor. Saya memiliki kelas, B yang secara internal membutuhkan objek lain A. Objek A adalah salah satu dari sedikit anggota yang perlu dilakukan oleh kelas B. Semua metode publiknya tergantung pada objek internal A. …
18 c#  constructors 

1
Apakah boleh membuat konstruktor default tidak dapat digunakan?
Secara khusus bertanya tentang konstruktor default Mengingat konstruktor menginisialisasi semua data untuk objek, jika saya membuat kelas yang tidak dapat digunakan tanpa inisialisasi yang benar, bukankah konstruktor default tidak berguna? Mempertimbangkan: // A class for handling lines in a CSV file class CSV_Entry { private: unsigned num_entries; std::string string_version; std::vector<std::string> …


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 …

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.