Saya telah menulis portal ASP.NET WebForms untuk klien. Proyek ini telah berevolusi daripada direncanakan dan terstruktur dengan baik sejak awal. Akibatnya, semua kode dihancurkan bersama dalam proyek yang sama dan tanpa lapisan. Klien sekarang senang dengan fungsionalitasnya, jadi saya ingin memperbaiki kode sehingga saya akan percaya diri untuk merilis proyek. Karena tampaknya ada banyak cara berbeda untuk mendesain arsitektur, saya ingin beberapa pendapat tentang pendekatan terbaik untuk diambil.
KEGUNAAN
Portal ini memungkinkan administrator untuk mengkonfigurasi template HTML. "Mitra" terkait lainnya akan dapat menampilkan templat ini dengan menambahkan kode IFrame ke situs mereka. Dalam templat ini, pelanggan dapat mendaftar dan membeli produk. API telah diimplementasikan menggunakan WCF yang memungkinkan perusahaan eksternal untuk berinteraksi dengan sistem juga. Bagian Admin memungkinkan Administrator untuk mengkonfigurasi berbagai fungsi dan melihat laporan untuk setiap mitra. Sistem mengirimkan faktur dan pemberitahuan email kepada pelanggan.
ARSITEKTUR SAAT INI
Saat ini menggunakan EF4 untuk membaca / menulis ke database. Objek EF digunakan langsung dalam file aspx. Ini telah memfasilitasi pengembangan yang cepat sementara saya telah menulis situs tetapi mungkin tidak dapat diterima untuk tetap seperti itu karena erat dengan db dengan UI. Logika bisnis khusus telah ditambahkan ke kelas parsial dari objek EF.
PERTANYAAN
Tujuan dari refactoring adalah untuk membuat situs scalable, mudah dirawat dan aman.
Arsitektur seperti apa yang terbaik untuk ini? Tolong jelaskan apa yang seharusnya ada di setiap layer, apakah saya harus menggunakan pola DTO / POCO / Rekaman Aktif dll.
Apakah ada cara yang kuat untuk menghasilkan-DTO / BO secara otomatis sehingga peningkatan di masa depan akan mudah diterapkan meskipun ada lapisan tambahan?
Apakah akan bermanfaat untuk mengubah proyek dari WebForms ke MVC?