Manajemen Tampilan/Pengontrol ASP.NET MVC

Saya sedang mengerjakan proyek yang cukup besar, yang memiliki banyak sekali metode di setiap pengontrol. Sama dengan Views, satu folder berisi sekitar 150 .cshtml file, sehingga sulit untuk dijelajahi. Saya ingin membuat folder terpisah untuk setiap bagian jendela, tetapi itu mengubah alamat perutean saya dari ./Tavern/Shop menjadi /Views/Tavern/Tavern/Shop. Pengontrol kedai memiliki 3000+ baris kode, dan bahkan dengan (Ctrl+F) sulit untuk menemukan dan mengedit beberapa fungsi.

Adakah ide bagaimana saya bisa memperbaikinya tanpa mengubah banyak file dalam solusi?


person Lubudubu1010    schedule 18.07.2015    source sumber
comment
untuk setiap bagian jendela - mungkin Anda harus memberi kami gambaran tentang bagaimana halaman utama terdiri dari bagian-bagian.   -  person Henk Holterman    schedule 18.07.2015
comment
Menurut saya banyak logika domain yang ada di dalam pengontrol Anda? Mungkin Anda bisa memulai dengan mengidentifikasinya dan menariknya ke dalam lapisan terpisah agar lebih mudah dikelola. Itu akan membuat pengujian dll menjadi lebih mudah.   -  person TBD    schedule 18.07.2015
comment
@HenkHolterman Satu bagian adalah pemandangan Tavern: toko, memasak, tidur, dll.   -  person Lubudubu1010    schedule 18.07.2015


Jawaban (1)


Sulit untuk membantu tanpa melihat kode Anda, tetapi ini harus menjadi pedoman Anda:

  1. Pengontrol harus 'sempit' mungkin, semua kode harus dilakukan di lapisan BL Anda. (lib eksternal)

  2. Pengontrol harus sangat spesifik - misalnya produk, kontak, rumah, dll...

  3. Perutean dilakukan melalui pengontrol, dan bukan lokasi tampilan - Anda dapat menentukan saat kembali View("~/AnyPath/GoesHere/AndTheRouting/IsTheSame.cshtml") (itu akan menjadi pengontrol/tindakan) (atau bagaimanapun Anda mendefinisikannya di routing.config)

  4. Anda dapat mempertimbangkan untuk bekerja dengan Area.

person Ziv Weissman    schedule 18.07.2015