Model View Controlle که به اختصار به آن MVC می گویند یکی از الگوهای معماری نرم افزار است که منطق نرم افزار را به سه بخش تقسیم می کند. با استفاده از MVC، نه تنها کار تیمی راحتتر میشود، بلکه از نوشتن کدهای تکراری نیز جلوگیری میشود.
تاریخچه معماری mvc
مفهوم Model View Controller در توسعه نرم افزار در اواخر دهه 1980 تکامل یافت. این معماری نرم افزار بر این ایده استوار است که منطق یک برنامه باید از نمایش آن جدا باشد. یک سیستم توسعه یافته در معماری MVC باید یک توسعه دهنده frontend و یک توسعه دهنده backend را برای کار با یک سیستم بدون دخالت در یکدیگر به کار بگیرد.
معماری mvc در زبان php
لایه مدل (model) در معماری mvc
مدل لایه ای است که با پایاه داده سر و کار دارد. در عمل مدل به عنوان پلی در میان لایه view و کنترلر (controller) قرار گرفته است. دستورات CRUD در این قسمت نوشته میشوند و تمام ارتباطات با دیتابیس باید از طریق همین لایه انجام پذیرد. مهمترین بخش از منطق برنامه مدل است. کنترلر ورودیها را دریافت و تبدیل به دستوراتی برای مدل و ویو میکند، اگر این دستورات قرار باشد کار ذخیره داده مثلا ویرایش یک فایل یا تغییر یا افزودن دادهای در دیتابیس را انجام دهند، متد مورد نظر از مدل فراخوانی میشود و مدل وظیفهاش را انجام میدهد و در صورت نیاز دادههایی را برمیگرداند، کنترلر دوباره دادهها را بررسی میکند تا ببیند نیاز است مدل دیگری فراخوانی شود یا باید آنها را برای نمایش به ویو بدهد.
<?php
class Model
{
public $string;
public function __construct()
{
$this->string = Lets start php with MVC;
}
}
?>
لایه ویو (view) در معماری mvc
لایه ویو وظیفه تعامل با کاربر را دارد و درخواست های کاربر را به کنترلر منتقل می کند تا تصمیمی برای آنها بگیرد. لایه view هم مانند مدل ارتباطی دو طرفه با کنترلر دارد. ویو دادهها را در قالب مناسب نمایش میدهد. هانت به شما کمک می کند تا به صورت رایگان طراحی سایت را یاد بگیرید.
<?php
class View
{
private $model;
private $controller;
public function __construct($controller,$model)
{
$this->controller = $controller;
$this->model = $model;
}
public function output()
{
return . $this->model->string .
; } }
?>
لایه کنترلر (controller) در معماری mvc
کنترلر به درخواست های کاربر پاسخ می دهد. کنترلر با توجه به نوع درخواست کاربر و اطلاعاتی که از مدل می گیرد، لایه view را برای به روزرسانی آگاه می کند.
<?php
class Controller
{
private $model;
public function __construct($model)
{
$this->model = $model;
}
}
?>
در معماری MVC روند کلی برنامه به این شکل است که کاربر تقاضای خود را از طریق واسط های برنامه نویسی از بخش View درخواست می کند. بخش View در خواست ها را به بخشController فرستاده و این بخش با برقراری ارتباط با بخش Model درخواست های کاربر را پردازش کرده و پس از پایان پردازش زمانی که خروجی درخواست داده شده آماده گردید، بخش Controller بخش View را آگاه می سازد تا خود را بر اساس تغییرات جدید که اصطلاحا در معماری MVC به آن حال Model می گویند، بروز کند.
در بخش آموزش طراحی سایت هانت می توانید بیشتر در مورد این حوزه اطلاع کسب کنید.
دیدگاهتان را بنویسید