Folder atau proyek-Proyek dalam Visual Studio Solusi?

Ketika membelah solusi logis lapisan, ketika itu yang terbaik untuk menggunakan proyek terpisah lebih dari sekedar pengelompokan berdasarkan folder?

Larutan

Secara default, selalu saja membuat folder baru dalam proyek yang sama

  • Anda akan mendapatkan satu majelis (tanpa tambahan ILMerge senam)
  • Lebih mudah untuk mengaburkan (karena anda akan memiliki kurang umum jenis dan metode, idealnya tidak ada sama sekali)

Memisahkan kode sumber anda ke beberapa proyek yang masuk akal hanya jika anda...

  • Memiliki beberapa bagian-bagian dari source code yang merupakan bagian dari proyek tetapi tidak deployable secara default atau sama sekali (tes unit, tambahan plugin dll.)
  • Banyak pengembang yang terlibat dan anda ingin memperlakukan mereka bekerja sebagai konsumsi kotak hitam. (sangat tidak dianjurkan)
  • Jika anda dapat dengan jelas memisahkan proyek anda menjadi terisolasi lapisan/modul dan anda ingin memastikan bahwa mereka dapat't cross-mengkonsumsi internal anggota. (juga tidak dianjurkan karena anda akan perlu untuk memutuskan mana aspek ini yang paling penting)

Jika anda berpikir bahwa beberapa bagian dari kode sumber anda bisa dapat digunakan kembali, masih don't membuat itu sebagai sebuah proyek baru. Tunggu sampai anda benar-benar akan ingin menggunakannya kembali dalam solusi lain dan mengisolasi keluar dari proyek asli yang diperlukan. Pemrograman tidak lego, menggunakan kembali biasanya sangat sulit dan sering tidak't terjadi seperti yang direncanakan.

Komentar (2)

Memisahkan fitur ke dalam proyek-proyek sering YAGNI arsitektur optimasi. Seberapa sering anda kembali orang-orang proyek terpisah, benar-benar? Jika itu's tidak sering terjadi, anda're rumit perkembangan anda, membangun, penerapan, dan pemeliharaan untuk teoretis digunakan kembali.

Aku lebih suka memisahkan ke dalam folder (menggunakan sesuai namespaces) dan refactoring untuk proyek terpisah ketika anda've got a real-life reuse use case.

Komentar (1)

denny menulis:

saya pribadi merasa bahwa jika reusable code dibagi ke dalam proyek-proyek itu adalah sederhana untuk menggunakan tempat-tempat lain daripada jika itu hanya dalam beberapa folder.

Saya benar-benar setuju dengan hal ini - jika anda dapat menggunakan kembali, itu harus dalam proyek terpisah. Dengan mengatakan bahwa, itu's juga sangat sulit untuk kembali efektif :)

Di sini JADI, kita've mencoba untuk menjadi sangat sederhana dengan tiga proyek, yaitu:

  • Web MVC project (yang melakukan pekerjaan yang baik memisahkan lapisan anda ke dalam folder secara default)
  • Database proyek untuk sumber kendali kami DB
  • Unit test terhadap model MVC/controllers

Saya dapat't berbicara untuk semua orang, tapi saya'm bahagia dengan cara sederhana kita've terus itu benar - benar kecepatan membangun bersama!

Komentar (0)

Saya biasanya melakukan sebuah proyek untuk GUI proyek untuk logika bisnis proyek untuk akses data dan proyek untuk unit tes.

Tapi kadang-kadang itu adalah bijaksana untuk memiliki pemisahan yang didasarkan pada pelayanan (jika anda menggunakan service oriented architecture) Seperti Otentikasi, Penjualan, dll.

Saya kira rule of thumb bahwa saya bekerja adalah bahwa jika anda dapat melihat hal ini sebagai sebuah komponen yang memiliki pemisahan yang jelas dari keprihatinan itulah proyek yang berbeda bisa menjadi bijaksana. Tapi saya akan berpikir bahwa folder terhadap proyek-proyek yang hanya bisa menjadi preferensi atau filsafat.

Saya pribadi merasa bahwa jika reusable code dibagi ke dalam proyek-proyek itu adalah sederhana untuk menggunakan tempat-tempat lain daripada jika itu hanya dalam beberapa folder.

Komentar (0)

Memisahkan kode sumber anda ke beberapa proyek yang masuk akal hanya jika anda... ... Banyak pengembang yang terlibat dan anda ingin memperlakukan mereka bekerja sebagai konsumsi kotak hitam. (sangat tidak direkomendasikan) ...

Mengapa isn't ini direkomendasikan? I've ditemukan cara yang sangat berguna untuk mengelola aplikasi dengan beberapa pengembang yang bekerja pada bagian yang berbeda. Membuat checkin jauh lebih mudah, terutama dengan menghilangkan hampir menyatu. Sangat jarang akan dua pengembang telah bekerja pada proyek yang sama pada waktu yang sama.

Komentar (1)

Jika anda pergi untuk membuat beberapa proyek, pastikan semua orang yang menambahkan kode untuk solusi tersebut sepenuhnya menyadari niat mereka dan melakukan segala sesuatu yang anda bisa untuk mendapatkan mereka untuk memahami ketergantungan antara proyek-proyek. Jika anda pernah mencoba untuk memilah kekacauan ketika seseorang telah pergi dan menambahkan referensi yang seharusnya't telah ada dan lolos dengan itu selama berminggu-minggu anda akan memahami hal ini

Komentar (0)

Saya benar-benar berpikir itu lebih baik untuk membagi proyek juga, tapi itu semua tergantung pada ukuran proyek dan jumlah orang yang bekerja di atasnya.

Untuk proyek yang lebih besar, saya memiliki sebuah proyek untuk

  • akses data (model)
  • jasa
  • front end
  • tes

Aku punya model dari Rob Connery dan toko aplikasi... tampaknya bekerja dengan sangat baik.

mvc-etalase

Komentar (0)