Apa itu MVC? Kenali seni bina perisian ini!

Belajar tentang Apa itu MVC? Dan kerana jenis perisian baru ini telah merevolusikan dunia kod dan ciri terpentingnya, semua ini berkat apa yang akan kami sampaikan di bawah ini.

apa-adalah-mvc-2

MVC atau Model View Controller, cara baru membuat kod

Apa itu MVC?

MVC adalah singkatan dari Model View Controller, tujuannya adalah sebagai asas reka bentuk perisian. Senibina perisian adalah panduan yang memudahkan pembinaan elemen-elemen ini, memberikan model bagaimana seharusnya.

MVC, tidak seperti arkitek perisian lain, melepaskan setiap kod untuk mengurus tugas tertentu, dengan cara ini, kod tersebut dikembangkan dalam satu pekerjaan dan ia dilakukan tanpa gangguan.

Untuk memudahkan penggunaannya, gunakan antara muka pengguna, kerana ini mudah difahami dan menghubungkan komputer secara langsung dengan pengguna Internet. Begitu juga, kod MVC dapat digunakan untuk pelbagai program atau skema.

Masa penggunaannya panjang, praktikal dan interaksinya mudah, kerana bertujuan untuk membuat perisian tanpa banyak kerumitan, seperti pada masa lalu. Sistem ini menggunakan kod yang berbeza, walaupun digunakan, dan memisahkannya sehingga masing-masing hanya berfungsi pada satu tugas atau konsep.

Seperti yang dijelaskan di atas, ini adalah seni bina, tetapi mengapa? Seperti rancangan pembinaan, ia menetapkan tiga rancangan kerja yang berbeza; model, pandangan dan pengawal.

Idea pemisahan dari konsep kod ini sudah lama dan mendapat momentum kerana kerangka kerja yang baik yang muncul. Kerangka kerja adalah sejenis perisian yang berusaha menyelesaikan masalah dan pembinaannya berdasarkan masalah itu sendiri.

Apa itu MVC?: Sejarah Model, Pandangan & Pengawal

Idea Model, Pandangan & Pengawal dikatakan sebelum pembuatan laman web. Itu adalah idea yang datang dari GUI atau antara muka video grafik; GUI adalah alat yang berfungsi dengan antarmuka pengguna, yang menggunakan perangkat lunak yang mewakili dengan konten visual, data yang tersedia dalam sistem.

Ini adalah salah satu inovasi perintis untuk menggunakan perisian yang membahagikan konsepnya kepada fungsi yang berbeza. Ia bermula sebagai konsep pada tahun 70-an, kemudian pada tahun 80-an versi untuk Smalltalk-80 dilaksanakan.

Smalltalk-80 adalah bahasa pengaturcaraan aktif yang, tidak seperti MCV, tidak memisahkan konsep dan fungsinya. Penyatuan MCV akan diberikan untuk perpustakaan yang berfungsi, menguji asasnya.

Akhirnya, pada akhir tahun sembilan puluhan, MVC dilancarkan sebagai konsep tersendiri, dipisahkan dari Smalltalk-80. Pada masa awalnya, MCV adalah program yang sangat asas yang belum menerapkan ciri pemisahan kodnya, hanya berdasarkan mod input.

Dengan pengembangan beberapa bulan ini berubah, menerapkan pandangan, yang merupakan model output dan menggabungkannya dengan model input. Selama bertahun-tahun, model jenis ini tidak lagi mencukupi untuk aplikasi semasa, oleh itu, MVC berkembang menjadi konsep yang diketahui hari ini, namun, ia melalui versi yang berbeza sehingga menjadi seperti sekarang.

Pengawal Paparan Model Hierarki (HMVC)

Ini adalah salah satu variasi pertama, ia muncul pada awal tahun 2000. Tidak seperti MVC, HMCV mengkonfigurasi model terlebih dahulu dan pada akhirnya pandangan, menjadi proses yang sedikit lebih lama; Versi ini tidak membenarkan paparan meninjau atau mengakses data secara langsung.

Penyesuai Paparan Model (MVA)

Ini adalah versi yang hampir dengan MVC, yang mempunyai seni bina yang serupa untuk memisahkan setiap tugas atau kod dengan tahap. Tidak seperti pendahulunya, MVA meratakan setiap tugas, tetapi tidak membenarkan hubungan antara model dan pandangan seperti MVC.

Penyampai Paparan Model (MVP)

Model View Presenter terus digunakan untuk merancang titik hubungan antara pengguna dan PC. Ia digunakan untuk ujian di mana pelayan memberikan respons autonomi dan mengubah data yang diberikan oleh model dan memampatkannya untuk paparan.

Model Pandangan Model (MVVM)

Senibina perisian jenis ini membuka keseluruhan struktur model dan pandangan, yang saling berkaitan, mencapai pemindahan data yang lengkap. Ini mengembangkan model visual yang baik dan menawarkan pengembangan grafik yang baik dalam aplikasi.

Apa kebaikan MVC?

Alat ini adalah sistem pembuatan perisian, yang digunakan untuk membentuk aplikasi dengan kualiti yang sangat baik, oleh itu, hari ini kualiti dan kemudahan pengaturcaraan terbaik dicari.

Sejak penciptaan web dan komputer, pengaturcaraan berkembang pesat dan jurutera sistem mengambil peranan penting, kerana mereka merancang aplikasi atau perisian hebat yang merevolusikan seluruh dunia. Untuk pembuatan setiap program, perlu menggunakan sistem kod yang sesuai.

Pengaturcaraan sebelumnya adalah sesuatu yang berat dan rumit, yang memerlukan masa yang lama untuk membawa sesuatu yang baru sebagai sistem atau aplikasi, namun sedikit demi sedikit perkhidmatan atau program dikembangkan untuk memudahkan prosesnya. Dari program yang memisahkan kod atau berjaya disatukan, bahkan satu demi satu.

Model View Controller adalah penyelesaian sempurna untuk jurutera sistem atau pengaturcara, kerana disusun mengikut tahap setiap operasi yang harus dilakukan oleh kod dan tidak ada tugas yang mengganggu yang lain.

Proses pengaturcaraan dibuat lebih sederhana kerana cara di mana MVC membenarkan kod-kod tersebut digunakan kembali, memperoleh kefasihan lengkap pada elemen apa pun yang diprogramkan.

MVC tidak hanya memberikan kemudahan pengaturcaraan, tetapi juga memungkinkannya dilakukan dengan lebih cepat dan menghasilkan aplikasi berkualitas tinggi.

Sekiranya anda menyukai artikel ini, saya mengajak anda membaca "Kelas dan Objek di Jawa", karya konsep lengkap tentang Java, anda pasti akan menyukainya.

HTML tanpa MVC

Pada mulanya mungkin kabur semua penjelasan mengenai arsitektur perisian ini, namun, mereka mempertimbangkan sesuatu seperti elemen HTML, CSS dan PHP.

Masing-masing digunakan untuk memprogram atau merancang halaman; Yang paling umum adalah HTML, yang pada awalnya tidak mempunyai struktur yang terbentuk dengan baik dan pada masa pengaturcaraan, ia tidak memisahkan fungsinya, akibatnya, kodnya dicampur dan jika anda ingin mengubah sesuatu, anda terpaksa menukar semua kod.

Masalah HTML menjadikan tugas pengaturcaraan sangat membosankan, ditambah beberapa penulis kod mempunyai idea hebat untuk membuat sesuatu untuk memisahkan tanggungjawab ketika memprogram: mereka mencipta bahasa CSS. Bahasa CSS membolehkan menetapkan dan membezakan tugas setiap kod, menghilangkan aktiviti yang membosankan untuk mengulang atau mengubah keseluruhan kod.

Kod Spaghetti

Kes HTML, bukan sahaja berlaku dengannya; Biasanya, untuk membuat halaman yang berbeza anda cenderung menggabungkan kod, yang memenuhi fungsi yang berbeza. Kod cenderung menyatukan sehingga apa yang diinginkan ditampilkan, sesuatu yang bermanfaat, namun, dengan membuat kesalahan sedikit pun pada beberapa kod tersebut, ia memaksa seluruh proses diulang.

Bahasa yang digunakan, digabungkan dan mengakibatkan pengaturcara harus berjalan selangkah demi selangkah memperbaiki perkara yang, mungkin, tidak berkaitan.

Semua jenis kesalahan atau situasi ini diselesaikan dengan pemisahan bahasa yang sederhana, sambil menambahkan bahawa masing-masing memfokus pada tugas yang ada. Tidak hanya ada kesalahan pemisahan, tetapi juga ketidakpastian pada saat ingin menggunakan kembali kod, yang sebelumnya terjerat.

Sekiranya kod yang sama akan digunakan untuk program atau pekerjaan lain, ia harus dilakukan dengan sangat perlahan, berkat MVC ini tidak lagi diperlukan, kerana kod tersebut digunakan kembali dan apa yang telah dibentuk dalam satu saat.

Ini adalah bagaimana sistem MVC berfungsi, gambaran ringkas bagaimana proses itu berlaku

Pengenalan kepada Model View Presenter

Sejak awal artikel, telah dijelaskan bagaimana ia berfungsi dan mengapa model itu berfungsi, namun setiap bagiannya belum dijelaskan secara khusus: Model, The View dan The Controller.

Modelnya

Ini adalah tingkat pertama dan mencari semua data yang berkaitan dengan sistem dan pengoperasiannya, iaitu mengendalikan kandungan sistem, kemungkinan kemas kini.

Terdapat juga «logik perniagaan», yang terdiri daripada bagaimana sistem menyimpan, mengubah dan mengubah maklumat untuk visualisasi.

Model ini membolehkan pengguna menggunakan maklumat yang mereka perlukan, tanpa perlu mencari melalui fail yang tidak berkesudahan, mereka hanya perlu memasukkan dan itu akan menunjukkan, melalui "paparan", apa yang mereka perlukan. Untuk mengubah sesuatu dalam sistem atau maklumat, anda mesti melalui "pengawal", yang menghantar maklumat ke model.

Biasanya, maklumat itu dikendalikan dengan pengawal lain dan, alih-alih menggunakan SQL (bahasa sistem untuk mempunyai kawalan penuh terhadap data), maklumat tersebut diperbaiki secara langsung pada bahagian lain dari data, yang terdiri dari kelas dan objeknya.

Pandangan

Pandangan adalah titik di mana maklumat yang dihantar oleh model diwakili untuk pengguna, menunjukkan kandungan dalam antara muka optik. Kod program dicerminkan, yang akan dikerjakan dan ditampilkan di antara muka pengguna.

Elemen ini berfungsi dengan kod HTML dan PHP, kerana ia adalah kod yang paling sesuai untuk membina halaman, pelayan, dll. Kod-kod ini dikirim ke output, yang merupakan total transformasi maklumat yang dikirim oleh model.

Pengawal

Pengawal adalah yang memberikan jawapan kepada permintaan pengguna, yang dibuat melalui model. Permintaan itu berkaitan dengan maklumat, dari mengedit, membuat atau mencari jenis informasi apa pun.

Ini adalah alat yang juga memungkinkan Anda untuk mengedit bagaimana maklumat itu ditampilkan, iaitu bagaimana maklumat tersebut akan diproses dan dicerminkan dalam "pandangan", ini seterusnya adalah perubahan bagaimana model memberikan maklumat tersebut. Secara sederhana, pengawal adalah jambatan antara model dan pandangan, yang menerima permintaan dan dapat mencapai pandangan untuk memantulkannya dengan cara lain.

Pengawal adalah orang yang memberikan jawapan untuk apa program yang dibuat atau aplikasi yang sedang dibuat perlu, objektif akhirnya adalah semua maklumat sampai dari awal hingga keluar.

apa itu mvc

Bagaimana komponen berinteraksi?

Karya setiap komponen, seperti yang dapat dilihat, dihasilkan berdasarkan pesanan dan masing-masing mempengaruhi karya yang lain. Pengawal, bergabung dengan yang lain, menjadikan aliran kerja lebih banyak dan diberikan untuk membuat program atau aplikasi, namun, ini adalah penjelasan yang lebih baik tentang bagaimana keseluruhan proses dijalankan:

  1. Pengguna Internet mula menggunakan berbagai pilihan untuk memasuki antara muka pengguna, iaitu, dia memasuki halaman atau pelayan melalui beberapa pelengkap.
  2. Permintaan diterima oleh pengawal, yang mengirimkan pesan untuk dilihat dan ke model. Setiap permintaan dipicu melalui pengendali peristiwa (kod Java atau HTML, yang memberikan respons kod luaran).
  3. Pengawal untuk memenuhi permintaan, memasuki model, di mana ia menggunakan maklumat dan mengubah tindakan untuk apa yang diperlukannya. Untuk melakukan beberapa tindakan, pengawal mesti menggunakan kod yang dikemas yang berbeza, pendeknya, corak perintah.
  4.  Dalam beberapa kes, pengawal untuk menyelesaikan tugas yang lengkap akan menggunakan lebih banyak data dari model, yang mesti dihantar untuk dilihat, bertindak sebagai jambatan.
  5. Pengawal menghantar semua maklumat dan pesanan yang diberikan oleh pengguna Internet pada pandangan, yang mesti menunjukkan visualisasi apa yang diinginkan.
  6. Pandangan, untuk memberikan visualisasi yang baik, menggunakan sebanyak mungkin maklumat dari model dan mencerminkan semua yang ada di dalamnya.
  7. Oleh kerana model tidak dapat mempunyai maklumat tentang apa yang sedang dilihat, ia menggunakan jenis perisian yang memperingatkannya tentang perubahan dan, dengan cara ini, membuat perubahan yang diperlukan dalam maklumat atau antara muka.
  8. Antaramuka mengulangi proses bergantung pada setiap interaksi yang dilakukan oleh pengguna Internet dalam jumlah tindakan yang dilakukannya.

Bagaimana ia digunakan dalam aplikasi web?

Ketika perisian MVC dibuat, perangkat lunak ini dianggap dapat dilaksanakan dalam alat desktop, karena operasi dan responsnya akan segera dilakukan. Kemajuan teknologi memungkinkan untuk menyesuaikan perisian ke aplikasi maya, dapat bertindak balas tanpa ditentukan sebelumnya seperti program desktop.

MVC disesuaikan dengan bahasa maya, sehingga tahap yang berbeza dapat selaras dengan bahasa seperti HTML atau JavaScript, antara lain. Kerangka kerja digunakan untuk dapat mendamaikan seni bina MVC, membentuk salah satu yang tersendiri untuk web.

Senibina MVC untuk respons maya adalah "klien dan pelayan", dalam skema ini klien membuat permintaan dan pelayan akan menjadi penerima, yang akan memberikan hasil atau respons terhadap permintaan tersebut.

Pada mulanya, untuk menerapkan jenis seni bina ini, pembangunan web tidak begitu lengkap, oleh itu, fokusnya adalah untuk struktur "pelanggan tipis". Pelanggan tipis adalah struktur utama, kerana tindak balas diberikan di pelayan pusat dan, oleh itu, mungkin sedikit kemudian; pautan balasan adalah secara langsung antara input dan output, tanpa merapatkan atau memproses.

Pendekatan ini dilakukan dengan baik, semuanya diberikan sejak pengguna Internet memasuki pautan, dari saat itu tindakan yang melancarkan pautan, melalui pengawal dan memberikan pesanan untuk melihat sehingga mencerminkan gambar yang harus pengguna pandangan. Ketiga-tiga komponen MVC ada di pelayan maya, yang akan memberikan jawapannya.

MVC dan pangkalan data

Kemajuan teknologi telah memungkinkan pengembangan pelayan dan bahasa baru yang menghasilkan pengembangan MVC yang lebih baik, yang membolehkan tindak balas menjadi kurang rumit dan lebih langsung bagi pengguna.

Agar aplikasi mempunyai perkembangan yang baik, MVC mesti mempunyai pangkalan data yang berfungsi sebagai sokongan. Pangkalan data adalah sistem pengurusan untuk semua maklumat aplikasi, menjadi sokongan untuk model, membuatnya menyimpan atau mengubah semua yang diperlukannya.

Pandangan dan pengawal dijauhkan dari pangkalan data, kerana terdapat pemisahan oleh lapisan, yang membolehkan bahagian grafik dioptimumkan dengan cara terbaik, memberikan pendekatan visual yang lengkap untuk semua maklumat dan setiap pelengkap. Bekerja di sisi anda.

Sekiranya anda menyukai artikel ini, saya menjemput anda untuk membaca "Jenis pengaturan dalam pengaturcaraan", menjelaskan kepentingannya sepenuhnya dalam pembentukan program, saya tahu anda akan menyukainya.


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Blog Sebenar
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.