MVC হলো Model-View-Controller প্যাটার্নের সংক্ষিপ্ত রূপ। এটি একটি স্থাপত্যিক প্যাটার্ন যা সফটওয়্যার ডেভেলপমেন্টে UI (User Interface) এবং ব্যাকএন্ড লজিকের মধ্যে বিভাজন তৈরি করতে ব্যবহৃত হয়। ASP.NET Core-এ এই প্যাটার্নটি অত্যন্ত জনপ্রিয় এবং শক্তিশালী, যা ডেভেলপারদের ওয়েব অ্যাপ্লিকেশন নির্মাণে সুসংগঠিত এবং সহজ পদ্ধতি প্রদান করে।
MVC প্যাটার্ন অ্যাপ্লিকেশনকে তিনটি ভিন্ন কম্পোনেন্টে ভাগ করে:
Model হলো ডেটার প্রতিনিধিত্বকারী স্তর। এটি ডেটাবেস, বিজনেস লজিক এবং ডেটা প্রসেসিং-এর সাথে কাজ করে। Model ডেটার কাঠামো এবং ডেটাবেস অপারেশনের জন্য দায়ী। এটি মূলত ডেটার স্টোরেজ এবং হ্যান্ডলিং সংক্রান্ত কার্যক্রম সম্পাদন করে।
কাজের ক্ষেত্র:
উদাহরণ:
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
}
View হলো ব্যবহারকারীর সামনে প্রদর্শিত UI (User Interface) অংশ। এটি শুধুমাত্র ডেটা উপস্থাপনের জন্য দায়ী এবং ডেটার কোন প্রকার প্রসেসিং করে না। View-তে HTML, CSS এবং Razor Syntax ব্যবহার করে UI তৈরি করা হয়।
কাজের ক্ষেত্র:
উদাহরণ:
<h1>Product List</h1>
<table>
<tr>
<th>Id</th>
<th>Name</th>
<th>Price</th>
</tr>
@foreach (var product in Model)
{
<tr>
<td>@product.Id</td>
<td>@product.Name</td>
<td>@product.Price</td>
</tr>
}
</table>
Controller হলো ব্যবহারকারী এবং সিস্টেমের মধ্যে যোগাযোগের মাধ্যম। এটি রিকোয়েস্ট গ্রহণ করে, Model থেকে ডেটা সংগ্রহ করে এবং সেই ডেটা View-তে পাঠায়। Controller মূলত অ্যাপ্লিকেশনের ডেটা প্রসেসিং লজিক এবং রিকোয়েস্ট রেসপন্স সাইকেলের জন্য দায়ী।
কাজের ক্ষেত্র:
উদাহরণ:
public class ProductController : Controller
{
public IActionResult Index()
{
var products = new List<Product>
{
new Product { Id = 1, Name = "Laptop", Price = 800.00M },
new Product { Id = 2, Name = "Smartphone", Price = 500.00M }
};
return View(products);
}
}
ASP.NET Core-এ MVC প্যাটার্নটি অত্যন্ত কার্যকরী কারণ এটি ডেভেলপারদের একটি সুসংগঠিত এবং উন্নততর ওয়েব অ্যাপ্লিকেশন তৈরির সুযোগ দেয়। এটি বিশেষ করে ডেটা-চালিত ওয়েব অ্যাপ এবং API তৈরিতে ব্যবহৃত হয়। Routing, Middleware, এবং Dependency Injection এর মতো ফিচার MVC প্যাটার্নকে আরও শক্তিশালী করে।
MVC প্যাটার্ন ওয়েব ডেভেলপমেন্টে একটি মানসম্মত পদ্ধতি এবং ডেভেলপারদের জন্য এটি সহজ, কার্যকরী এবং প্রায়শই অপরিহার্য।
common.read_more