Pertanyaan yang diberi tag «architecture»

Desain dan deskripsi tingkat tinggi dari sistem perangkat lunak. Desain arsitektur menyaring detail implementasi, algoritma, dan representasi data untuk berkonsentrasi pada interaksi komponen "kotak hitam".

30
Bagaimana cara membuat bahasa pemrograman saya sendiri dan kompiler untuk itu [ditutup]
Saya teliti dengan pemrograman dan telah menemukan bahasa termasuk BASIC, FORTRAN, COBOL, LISP, LOGO, Java, C ++, C, MATLAB, Mathematica, Python, Ruby, Perl, JavaScript, Majelis dan sebagainya. Saya tidak mengerti bagaimana orang membuat bahasa pemrograman dan membuat kompiler untuk itu. Saya juga tidak mengerti bagaimana orang membuat OS seperti Windows, …


16
Saat menggunakan Prinsip Tanggung Jawab Tunggal, apa yang merupakan "tanggung jawab?"
Tampaknya cukup jelas bahwa "Prinsip Tanggung Jawab Tunggal" tidak berarti "hanya melakukan satu hal." Itulah gunanya metode. public Interface CustomerCRUD { public void Create(Customer customer); public Customer Read(int CustomerID); public void Update(Customer customer); public void Delete(int CustomerID); } Bob Martin mengatakan bahwa "kelas seharusnya hanya memiliki satu alasan untuk berubah." …


17
Apakah lebih baik mengembalikan nilai NULL atau kosong dari fungsi / metode yang nilai kembaliannya tidak ada?
Saya mencari rekomendasi di sini. Saya berjuang dengan apakah lebih baik mengembalikan NULL atau nilai kosong dari suatu metode ketika nilai kembali tidak ada atau tidak dapat ditentukan. Ambil dua metode berikut sebagai contoh: string ReverseString(string stringToReverse) // takes a string and reverses it. Person FindPerson(int personID) // finds a …

9
Apakah ada alasan "nyata" mengapa pewarisan berganda dibenci?
Saya selalu menyukai gagasan memiliki banyak warisan yang didukung dalam suatu bahasa. Paling sering meskipun itu sengaja dilupakan, dan seharusnya "penggantian" adalah antarmuka. Antarmuka tidak mencakup semua tanah yang sama dengan pewarisan berganda, dan pembatasan ini kadang-kadang dapat menyebabkan lebih banyak kode boilerplate. Satu-satunya alasan dasar yang pernah saya dengar …

8
Kritik dan kerugian injeksi ketergantungan
Ketergantungan injeksi (DI) adalah pola yang terkenal dan modis. Sebagian besar insinyur mengetahui kelebihannya, seperti: Membuat isolasi dalam pengujian unit mungkin / mudah Mendefinisikan dependensi kelas secara eksplisit Memfasilitasi desain yang baik ( prinsip tanggung jawab tunggal (SRP) misalnya) Mengaktifkan implementasi switching dengan cepat ( DbLoggeralih-alih ConsoleLoggermisalnya) Saya rasa ada …

10
Jangan Gunakan "Static" di C #?
Saya mengirimkan aplikasi yang saya tulis ke beberapa arsitek lain untuk tinjauan kode. Salah satu dari mereka segera membalas saya dan berkata "Jangan gunakan" statis ". Anda tidak dapat menulis tes otomatis dengan kelas dan metode statis." Statis "harus dihindari." Saya memeriksa dan sepenuhnya 1/4 kelas saya ditandai "statis". Saya …

5
Bukankah pedoman async / menunggu penggunaan dalam C # bertentangan dengan konsep arsitektur yang baik dan lapisan abstraksi?
Pertanyaan ini menyangkut bahasa C #, tetapi saya berharap untuk mencakup bahasa lain seperti Java atau TypeScript. Microsoft merekomendasikan praktik terbaik dalam menggunakan panggilan asinkron di .NET. Di antara rekomendasi ini, mari kita pilih dua: ubah tanda tangan dari metode async sehingga mereka mengembalikan Task atau Task <> (dalam TypeScript, …
103 c#  architecture  async 


17
Apakah ide yang baik untuk merancang arsitektur berpikir bahwa kelas User Interface dapat diganti dengan antarmuka baris perintah?
Dalam Kode Lengkap halaman 25, dikatakan bahwa adalah ide yang baik untuk dapat dengan mudah mengganti kelas antarmuka pengguna biasa dengan baris perintah. Mengetahui keuntungannya untuk pengujian, bagaimana dengan masalah yang mungkin ditimbulkannya? Apakah pekerjaan tambahan ini benar-benar terbayar untuk proyek web dan seluler? Bagaimana dengan proyek kecil dan menengah; …

10
Mengapa Alan Kay berkata, "Internet dilakukan dengan sangat baik, tetapi web itu oleh para amatir"?
OK, jadi saya parafrase. Kutipan lengkap: Internet dilakukan dengan sangat baik sehingga kebanyakan orang menganggapnya sebagai sumber daya alam seperti Samudra Pasifik, dan bukan sesuatu yang dibuat oleh manusia. Kapan terakhir kali teknologi dengan skala seperti itu begitu bebas dari kesalahan? Web, sebagai perbandingan, adalah lelucon. Web dilakukan oleh para …

9
Bagaimana perpustakaan open source besar dipertahankan sementara memiliki kode yang jauh dari praktik "kode bersih"?
Saya masih belum berpengalaman untuk menulis kode berkualitas tinggi, jadi saya membaca buku-buku yang membahas masalah seperti Clean Code oleh Robert C. Martin, dan terus memeriksa kode perpustakaan terkenal untuk meningkatkan keterampilan saya. Meskipun banyak perpustakaan open source telah dipelihara selama bertahun-tahun, yang berarti sangat tidak mungkin mereka tidak berada …

7
Apa strategi transaksi yang paling diterima untuk layanan microser
Salah satu masalah utama yang saya lihat terjadi dalam sistem dengan layanan microser adalah cara transaksi bekerja ketika mereka menjangkau berbagai layanan. Dalam arsitektur kami sendiri, kami telah menggunakan transaksi terdistribusi untuk menyelesaikan ini, tetapi mereka datang dengan masalah mereka sendiri. Terutama kebuntuan telah menjadi rasa sakit sejauh ini. Pilihan …

17
Bagaimana cara melatih diri Anda untuk menghindari penulisan kode "pintar"? [Tutup]
Apakah Anda tahu perasaan itu ketika Anda hanya perlu memamerkan trik baru dengan Expressionatau menggeneralisasi tiga prosedur yang berbeda? Ini tidak harus pada skala Arsitektur Astronaut dan pada kenyataannya mungkin bermanfaat tetapi saya tidak bisa tidak memperhatikan orang lain akan menerapkan kelas atau paket yang sama dengan cara yang lebih …

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.