kursus mvc. Membuat mesin di MVC

Profil audiens:

  • Kursus ini dirancang untuk pengembang web profesional yang menggunakan Microsoft Visual Studio secara individu atau sebagai tim, dalam organisasi besar atau kecil.

Prasyarat:

  • 2-3 tahun pengalaman pengembangan aplikasi web menggunakan Microsoft Visual Studio dan Microsoft ASP.NET;
  • pengalaman langsung dengan .NET Framework;
  • Pengetahuan dasar tentang bahasa pemrograman C#.

Setelah menyelesaikan kursus, siswa akan dapat:

  • Jelaskan teknologi web Microsoft dan pilih alat yang sesuai untuk tugas yang ada;
  • merancang arsitektur dan implementasi aplikasi web yang akan memenuhi serangkaian persyaratan fungsional, persyaratan antarmuka pengguna, dan model bisnis;
  • membuat Model MVC dan menulis kode yang mengimplementasikan logika bisnis aplikasi dan bekerja dengan data;
  • menambahkan Pengendali ke aplikasi MVC untuk mengelola interaksi pengguna, memperbarui Model, dan menyediakan interaksi dengan Tampilan;
  • buat Tampilan MVC yang memungkinkan Anda menampilkan dan mengedit data serta berinteraksi dengan Model dan Pengontrol;
  • jalankan pengujian unit dan alat debugging untuk aplikasi web di Visual Studio 2012 dan konfigurasikan aplikasi untuk pemecahan masalah;
  • mengembangkan aplikasi web yang menggunakan perutean ASP.NET untuk menyediakan URL yang ramah dan navigasi logis bagi pengguna;
  • memastikan tampilan dan nuansa halaman situs yang konsisten, termasuk branding perusahaan, di seluruh aplikasi web MVC;
  • menggunakan penyegaran halaman dan cache sebagian untuk mengurangi beban jaringan yang dibuat oleh aplikasi dan mengurangi waktu respons terhadap tindakan pengguna;
  • menulis kode JavaScript yang berjalan di sisi klien dan menggunakan perpustakaan skrip jQuery untuk mengoptimalkan interaksi aplikasi web MVC dengan pengguna;
  • membuat aplikasi MVC yang tahan terhadap serangan berbahaya dan menyimpan informasi tentang pengaturan pengguna;
  • memahami cara menulis layanan web Windows Azure dan mengaksesnya dari aplikasi MVC;
  • menjelaskan apa itu Web API dan mengapa pengembang dapat menambahkannya ke aplikasi;
  • mengubah cara aplikasi MVC menangani permintaan browser;
  • menjelaskan cara mengemas dan menyebarkan aplikasi web ASP.NET MVC 5 dari mesin pengembangan ke server web;
  • pengembangan aplikasi web menggunakan ASP.NET MVC 5;
  • pengembangan Model ASP.NET MVC 5;
  • pengembangan Pengontrol ASP.NET MVC 5;
  • mengembangkan ASP.NET MVC 5 Tampilan;
  • cara menguji dan men-debug aplikasi web ASP.NET MVC 5;
  • penataan aplikasi web ASP.NET MVC 5;
  • fitur penerapan gaya ke aplikasi web ASP.NET MVC 5;
  • mekanisme untuk membangun halaman responsif di ASP.NET MVC 5;
  • kekhasan penggunaan JavaScript dan jQuery untuk membangun aplikasi web MVC 5 yang responsif;
  • prinsip-prinsip kontrol akses ke aplikasi web ASP.NET MVC 5;
  • bagaimana membangun aplikasi web ASP.NET MVC 5 yang kuat;
  • implementasi API Web di aplikasi web ASP.NET MVC 5;
  • pemrosesan permintaan di aplikasi web ASP.NET MVC 5;
  • prinsip-prinsip untuk menyebarkan aplikasi web ASP.NET MVC 5.
Struktur program pada contoh program paling sederhana

MVC ASP .NET untuk boneka. Pelajaran 1 . Program "Halo, Dunia!"

Kode sumber untuk pelajaran dapat diunduh.

Kita akan belajar MVC dari dasar-dasarnya. Untuk memulainya, mari kita buat aplikasi sederhana "Halo, Dunia!" Jadi, kami memanggang Microsoft Visual Studio 2010 (dapat menjalankan yang lain, maka gambarnya mungkin tidak sama dengan yang ditunjukkan pada tangkapan layar). Buka "File" -> "Baru" -> "Proyek":

Pilih jenis proyek "Visual C#" -> "ASP.NET MVC 2 Web Application":

Setelah mengklik tombol "OK", Visual Studio akan membuat templat program:

Mari kita hapus semua yang tidak perlu:

  • folder App_Data.
  • Hapus AccountController.cs dari folder Controllers
  • Dari folder Lihat, folder Akun.
  • Folder View berisi folder Home dan Shared. Mari kita hapus semua isi folder ini. Mari kita tinggalkan folder.

Seperti inilah tampilan pohon kita sekarang:

Sekarang kami menghapus semua yang tidak perlu dari kode program, khususnya, metode About() :

Dan inilah metode Index, kita akan menulis ulang sedikit. Secara khusus, kami akan membuat string tipenya, dan mengubah tubuh metode itu sendiri. Ini adalah bagaimana seluruh program HomeController.cs akan terlihat setelah itu:

menggunakan Sistem;

menggunakan System.Collections.Generic;

menggunakan System.Linq;

menggunakan System.Web;

menggunakan System.Web.Mvc;

namespace MvcApplication2.Controllers

HomeController kelas publik : Pengontrol

indeks string publik()

kembali "Halo Dunia!" ;

Dan inilah yang akan dihasilkan program ketika kita mengkompilasi dan menjalankannya.

Mengembangkan Aplikasi Web MVC Inti ASP.NET

Kursus ini dibaca sesuai dengan versi terbaru!

Selama kursus, Anda akan belajar cara membuat aplikasi web menggunakan ASP.NET Inti MVC dari .NET Framework. Anda akan memperoleh pengetahuan dan keterampilan yang memungkinkan Anda meningkatkan kinerja dan skalabilitas aplikasi web Anda secara signifikan. Selama kursus, Anda akan membandingkan teknologi ASP.NET CORE MVC dan ASP.NET Web Forms dan mendapatkan rekomendasi untuk memilih satu atau beberapa teknologi lainnya.

Kursus dihitung untuk web developer profesional dengan pengalaman membuat aplikasi menggunakan Visual Studio.

Untuk mengikuti kursus ini, Anda memerlukan yang valid akses akunMicrosoft Azure. Harap diperhatikan bahwa mungkin diperlukan waktu hingga 48 jam untuk mendapatkan akses baru. Jika Anda tidak memiliki akses, harap beri tahu manajer Anda saat mendaftar untuk pelatihan. Dalam hal ini, kami akan memberi Anda versi uji coba: Windows Azure Pass 30 hari.

Apakah Anda membutuhkan latihan yang ditingkatkan? Mempersiapkan Ujian Sertifikasi Microsoft? Mendapatkan akses ke Lab Online– laboratorium virtual pada kursus Microsoft resmi – sepanjang kursus dan dua minggu setelah kelulusan! Layanan ini unik dan hanya tersedia di Pusat "Spesialis"

Konsep MVC (Model-View-Controller) telah banyak disebutkan dalam dunia pemrograman web dalam beberapa tahun terakhir. Setiap orang yang dengan cara apa pun terhubung dengan pengembangan aplikasi web, dengan satu atau lain cara, telah menemukan akronim ini. Hari ini kita akan memahami apa itu konsep MVC dan mengapa itu menjadi populer.

sejarah kuno

MVC bukan pola desain, itu adalah pola desain yang menggambarkan cara aplikasi kita terstruktur, tanggung jawab, dan interaksi setiap bagian dalam struktur ini.

Ini pertama kali dijelaskan pada tahun 1979, tentu saja, untuk lingkungan yang berbeda. Kemudian tidak ada konsep aplikasi web. Tim Berners Lee menanam benih World Wide Web (WWW) di awal tahun sembilan puluhan dan mengubah dunia selamanya. Template yang kami gunakan saat ini merupakan adaptasi dari template asli untuk pengembangan web.

Popularitas kerangka kerja ini dalam aplikasi web telah berkembang karena dimasukkannya dalam dua lingkungan pengembangan yang telah menjadi sangat populer: Struts dan Ruby on Rails. Kedua lingkungan pengembangan ini memetakan jalur untuk ratusan lingkungan produksi yang dibuat kemudian.

MVC untuk aplikasi web

Ide di balik pola desain MVC sangat sederhana: kita perlu dengan jelas memisahkan tanggung jawab untuk perilaku yang berbeda dalam aplikasi kita:

Aplikasi ini dibagi menjadi tiga komponen utama, yang masing-masing bertanggung jawab untuk tugas yang berbeda. Mari kita lihat komponen secara rinci dengan sebuah contoh.

Pengontrol

Pengontrol mengelola permintaan pengguna (diterima sebagai permintaan HTTP GET atau POST saat pengguna mengklik elemen antarmuka untuk melakukan berbagai tindakan). Fungsi utamanya adalah untuk memanggil dan mengoordinasikan sumber daya dan objek yang diperlukan untuk melakukan tindakan yang ditentukan pengguna. Biasanya, pengontrol memanggil model yang sesuai untuk tugas dan memilih tampilan yang sesuai.

Model

Model adalah data dan aturan yang digunakan untuk bekerja dengan data yang mewakili konsep manajemen aplikasi. Dalam aplikasi apa pun, seluruh struktur dimodelkan sebagai data yang diproses dengan cara tertentu. Apa yang dimaksud dengan pengguna untuk aplikasi - pesan atau buku? Hanya data yang harus diproses sesuai aturan (tanggal tidak boleh di masa depan, email harus dalam format tertentu, nama tidak boleh lebih dari X karakter, dan seterusnya).

Model memberikan pengontrol representasi data yang diminta pengguna (pesan, halaman buku, album foto, dll.). Model data akan sama tidak peduli bagaimana kita ingin menyajikannya kepada pengguna. Oleh karena itu, kami memilih tampilan yang tersedia untuk menampilkan data.

Model berisi bagian terpenting dari logika aplikasi kita, logika yang memecahkan masalah yang kita hadapi (forum, toko, bank, dll.). Pengontrol sebagian besar berisi logika organisasi untuk aplikasi itu sendiri (seperti halnya housekeeping).

Melihat

Melihat menyediakan berbagai cara untuk merepresentasikan data yang diterima dari model. Ini bisa berupa template yang diisi dengan data. Mungkin ada beberapa tampilan berbeda, dan pengontrol memilih mana yang paling sesuai dengan situasi saat ini.

Aplikasi web biasanya terdiri dari satu set pengontrol, model, dan tampilan. Pengontrol dapat diatur sebagai pengontrol utama yang menerima semua permintaan dan memanggil pengontrol lain untuk melakukan tindakan tergantung pada situasinya.

Mari kita ambil contoh

Misalkan kita perlu mengembangkan toko buku online. Pengguna dapat melakukan tindakan berikut: melihat buku, mendaftar, membeli, menambahkan item ke pesanan saat ini, membuat atau menghapus buku (jika dia adalah administrator). Mari kita lihat apa yang terjadi ketika pengguna mengklik sebuah kategori fantasi untuk melihat judul-judul buku yang tersedia di toko kami.

Kami memiliki pengontrol khusus untuk menangani semua tindakan yang terkait dengan buku (melihat, mengedit, membuat, dan sebagainya). Sebut saja books_controller.php dalam contoh kita. Juga kita membutuhkan model, misalnya, book_model.php Yang menangani data dan logika yang terkait dengan item toko. Terakhir, kita membutuhkan beberapa tampilan untuk merepresentasikan data, seperti daftar buku, halaman edit, dan sebagainya.

Gambar berikut menunjukkan bagaimana permintaan pengguna untuk melihat daftar buku terkait ditangani. fantasi:

Pengontrol (books_controller.php) menerima permintaan pengguna (permintaan HTTP GET atau POST). Kita dapat mengatur pengontrol pusat seperti index.php yang menerima permintaan dan memanggil books_controller.php.

Kontroler memeriksa permintaan dan parameter dan kemudian memanggil model(book_model.php), bertanya dia memiliki daftar buku yang tersedia tentang topik tersebut fantasi .

Model mendapatkan data dari database (atau dari sumber lain yang menyimpan informasi), menerapkan filter dan logika yang diperlukan, lalu mengembalikan data yang mewakili daftar buku.

Pengontrol menggunakan tampilan yang sesuai untuk menyajikan data kepada pengguna. Jika permintaan berasal dari ponsel, tampilan seluler digunakan; jika pengguna menggunakan desain antarmuka tertentu, maka tampilan yang sesuai dipilih, dan seterusnya.

Apa saja manfaatnya?

Keuntungan paling nyata yang kita dapatkan dari penggunaan konsep MVC adalah pemisahan yang jelas antara logika presentasi (antarmuka pengguna) dan logika aplikasi.

Dukungan untuk berbagai jenis pengguna yang menggunakan berbagai jenis perangkat adalah masalah umum akhir-akhir ini. Antarmuka yang diberikan harus berbeda jika permintaan berasal dari PC atau ponsel. Model mengembalikan data yang sama, satu-satunya perbedaan adalah bahwa pengontrol memilih tampilan yang berbeda untuk menampilkan data.

Selain mengisolasi pandangan dari logika aplikasi, konsep MVC sangat mengurangi kompleksitas aplikasi besar. Kode ini jauh lebih terstruktur, sehingga lebih mudah untuk mempertahankan, menguji, dan menggunakan kembali solusi.

Mengapa menggunakan meja kerja?

Saat Anda menggunakan meja kerja, struktur dasar MVC sudah ada, dan yang harus Anda lakukan adalah memperluas struktur dengan menempatkan file Anda di direktori yang sesuai agar sesuai dengan pola MVC. Selain itu, Anda akan memiliki serangkaian fungsi yang sudah ditulis dan diuji dengan baik.

Mari kita ambil cakePHP sebagai contoh meja kerja MVC. Setelah instalasi, Anda akan memiliki tiga direktori utama:

  • kue/
  • vendor/

Map aplikasi adalah lokasi file Anda. Ini adalah tempat untuk mengembangkan bagian Anda dari aplikasi.

Dalam folder kue menghosting file cakePHP (fungsi meja kerja).

Map vendor berfungsi untuk menyimpan library PHP pihak ketiga.

Ruang kerja Anda (direktori aplikasi) memiliki struktur berikut:

  • aplikasi/
    • konfigurasi/
    • pengontrol/
    • lokal/
    • model/
    • plugin/
    • tes/
    • vendor/
    • dilihat/
    • akar web/

Anda perlu menempatkan pengontrol Anda di direktori pengontrol, model dalam direktori model dan tampilan di direktori dilihat!

Segera setelah Anda mulai menggunakan meja kerja, segera menjadi jelas di mana hampir semua bagian dari aplikasi Anda yang perlu dibuat atau dimodifikasi berada. Organisasi ini sendiri sangat menyederhanakan proses pengembangan dan pemeliharaan aplikasi.

Menggunakan ruang kerja untuk contoh kita

Karena pelajaran ini tidak dimaksudkan untuk menunjukkan cara membuat aplikasi dengan cakePHP, kami hanya akan menampilkan kode untuk model, pengontrol, dan tampilan, dengan komentar tentang manfaat menggunakan meja kerja MVC. Kode ini sengaja disederhanakan dan tidak cocok untuk digunakan dalam aplikasi nyata.

Ingat, kami sedang melihat toko buku dan pengguna yang penasaran ingin melihat daftar lengkap buku tentang topik tersebut. fantasi. Pengontrol menerima permintaan pengguna dan mengoordinasikan tindakan yang diperlukan.

Jadi, segera setelah pengguna mengklik tombol, browser meminta url yang diberikan:

www.ourstore.com/books/list/fantasy

Format URL template CakePHP /controller/action/param1/param2, di mana tindakan adalah fungsi yang dipanggil oleh controller. Dalam bentuk klasik lama, url akan terlihat seperti ini:

www.ourstore.com/books_controller.php?action=list&category=fantasi

Pengontrol

Di ruang kerja cakePHP, pengontrol kita akan terlihat seperti ini:

kelas BooksController memperluas AppController(

Daftar fungsi($kategori) (

$this->set("buku", $this->Book->findAllByCategory($category));

fungsi tambah() ( ... ... )

Fungsi hapus() ( ... ... )

... ... } ?>

Sederhana, bukan?. Pengontrol ini akan disimpan sebagai books_controller.php dan ditempatkan di /aplikasi/pengontrol. Ini berisi daftar fungsi yang melakukan tindakan untuk contoh kita, serta fungsi lain untuk melakukan operasi terkait buku (menambah buku baru, menghapus buku, dan sebagainya).

Lingkungan kerja memberi kami banyak solusi siap pakai dan kami hanya perlu membuat daftar buku. Ada kelas dasar di mana fungsionalitas dasar pengontrol sudah ditentukan, jadi Anda perlu mewarisi properti dan fungsi kelas ini ( Pengontrol Aplikasi adalah pewaris Pengontrol).

Yang perlu Anda lakukan dalam daftar tindakan adalah memanggil model untuk mendapatkan data dan kemudian memilih tampilan untuk mempresentasikannya kepada pengguna. Berikut cara melakukannya.

ini->Buku adalah model kami, dan bagian dari kode:

$this->Book->findAllByCategory($category)

memberitahu model untuk mengembalikan daftar buku tentang topik yang dipilih (kita akan melihat modelnya nanti).

metode mengatur Di barisan:

$this->set("buku", $this->Book->findAllByCategory($category));

Pengontrol meneruskan data ke tampilan. Variabel buku mengambil data yang dikembalikan oleh model dan membuatnya tersedia untuk dilihat.

Satu-satunya yang tersisa untuk dilakukan sekarang adalah menampilkan tampilan, tetapi fungsi ini dilakukan secara otomatis di cakePHP jika kita menggunakan tampilan default. Jika kita ingin menggunakan tampilan yang berbeda, maka kita harus memanggil metode secara eksplisit memberikan.

Model

Modelnya bahkan lebih sederhana:

kelas Buku memperluas AppModel(

Kenapa kosong? Karena mewarisi dari kelas dasar yang menyediakan fungsionalitas yang diperlukan, dan kita perlu menggunakan konvensi penamaan CakePHP agar meja kerja dapat melakukan semua tugas lainnya secara otomatis. Misalnya, cakePHP tahu dari namanya bahwa model ini digunakan dalam BukuController, dan memiliki akses ke tabel database yang disebut books.

Dengan definisi ini, kita akan memiliki model yang hanya dapat membaca, menghapus, atau menyimpan data dalam database.

Simpan kode sebagai buku.php dalam folder /aplikasi/model.

Melihat

Yang perlu kita lakukan sekarang adalah membuat tampilan (setidaknya satu) untuk daftar tindakan. Tampilan akan memiliki kode HTML dan beberapa (sesedikit mungkin) baris kode PHP untuk diulang melalui larik buku yang disediakan oleh model.












Nama Pengarang Harga

Seperti yang Anda lihat, tampilan tidak membuat halaman penuh, tetapi hanya sebagian dari HTML (dalam hal ini tabel). Karena CakePHP menyediakan cara lain untuk mendefinisikan templat halaman, dan tampilan dimasukkan ke dalam templat itu. Meja kerja juga memberi kita beberapa objek pembantu untuk melakukan tugas umum saat membuat bagian dari halaman HTML (menyisipkan formulir, tautan, Ajax, atau JavaScript).

Simpan tampilan sebagai list.ctp(daftar adalah nama tindakan dan ctp berarti template CakePHP) di folder /aplikasi/tampilan/buku(karena ini adalah tampilan untuk tindakan pengontrol).

Ini adalah bagaimana ketiga komponen dijalankan menggunakan meja kerja CakePHP!

Halo semua! Hari ini saya menulis artikel pertama dalam seri tentang membuat artikel Anda sendiri Aplikasi MVC.

Untuk memulainya, perlu dicatat bahwa jika seseorang tidak tahu, apa itu MVC maka baca dulu artikel ini : .

Jadi apa yang akan kita miliki pada akhirnya? Kami akan memiliki mesin, dibuat menggunakan Pola desain MVC. Mesin ini akan sangat sederhana, cek akan dihilangkan di suatu tempat, tetapi ini semua dilakukan agar Anda memahami cara membuat aplikasi di MVC, dan kemudian, setelah menyelesaikan mesin kami, Anda dapat menggunakannya untuk proyek Anda. Kami akan memiliki fungsi dasar:

  • otorisasi
  • obrolan kecil
  • menambahkan artikel
  • penyuntingan artikel
  • menghapus artikel
  • manajemen pengguna

Semuanya dimulai dengan struktur folder. Kami akan memilikinya seperti ini:

  • index.php
  • .htaccess
  • pengontrol
  • model
  • dilihat
  • lib

Saya pikir semuanya jelas di sini. Dalam folder pengontrol, model, dilihat dan lib akan disimpan pengontrol, model, jenis dan file lainnya. Selama proses pembuatan, kami akan menambahkan folder dan file yang kami butuhkan.

Untuk membuat mesin kami akan digunakan pendekatan berorientasi objek. Jika Anda tidak mengenalnya dengan baik, maka Anda juga harus terlebih dahulu membaca artikel ini di situs tersebut.

Jadi, di sinilah saya mengakhiri artikel pengantar, dan di artikel berikutnya kita sudah akan mulai membuat mesin di MVC. Sampai ketemu lagi!