Saya dalam tahap awal dalam desain sistem yang pada dasarnya akan dibagi menjadi dua bagian. Satu bagian adalah layanan dan yang lainnya adalah antarmuka dengan layanan yang menyediakan data melalui sesuatu seperti OData atau XML. Aplikasi akan didasarkan pada pola arsitektur MVC. Untuk tampilan, kami mempertimbangkan untuk menggunakan XSLT atau Razor di dalam ASP.NET.
XSLT atau Razor akan membantu memberikan pemisahan kekhawatiran di mana XML atau respons asli mewakili model Anda, XSLT atau 'Razor view' mewakili pandangan Anda. Saya akan meninggalkan controller untuk contoh ini. Proposal desain awal merekomendasikan XSLT, namun saya menyarankan penggunaan Razor sebagai tampilan engine yang lebih ramah.
Ini adalah alasan yang saya sarankan untuk Razor (C #):
- Lebih mudah untuk bekerja dengan dan membangun halaman yang lebih rumit.
- Dapat dengan mudah menghasilkan output non-* ML, mis. Csv, txt, fdf
- Template verbose lebih sedikit
- Model tampilan sangat diketik, di mana XSLT perlu mengandalkan konvensi, misalnya nilai boolean atau tanggal
- Markup lebih mudah didekati, misalnya nbsp, normalisasi baris baru, normalisasi nilai attibute, aturan spasi putih
- Built in HTML helper dapat menghasilkan kode validasi JS berdasarkan atribut DTO
- Pembantu HTML bawaan dapat menghasilkan tautan ke tindakan
Dan argumen untuk XSLT atas pisau cukur adalah:
- XSLT adalah standar dan masih akan ada bertahun-tahun ke depan.
- Sulit untuk secara tidak sengaja memindahkan logika ke tampilan
- Easer untuk bukan programmer (yang saya tidak setuju).
- Sudah berhasil di beberapa proyek kami di masa lalu.
- Nilai data dikodekan-HTML secara default
- Selalu terbentuk dengan baik
Jadi saya mencari agenda di kedua sisi, rekomendasi atau pengalaman apa pun yang membuat pilihan serupa?