MVC আর্কিটেকচারের ব্যাখ্যা (Model, View, Controller)

Microsoft Technologies - এএসপি ডট নেট এমভিসি (ASP.Net MVC) ASP.Net MVC পরিচিতি (Introduction to ASP.Net MVC) |
229
229

MVC (Model-View-Controller) একটি ডিজাইন প্যাটার্ন যা ওয়েব অ্যাপ্লিকেশনের আর্কিটেকচারের কাঠামো নির্ধারণ করে। এই প্যাটার্নে অ্যাপ্লিকেশনটি তিনটি ভিন্ন কম্পোনেন্টে ভাগ করা হয়: Model, View, এবং Controller। প্রতিটি কম্পোনেন্ট নির্দিষ্ট ভূমিকা পালন করে এবং একে অপরের থেকে স্পষ্টভাবে আলাদা থাকে। এর ফলে কোড পরিচালনা, মডিফাই এবং পুনর্ব্যবহারযোগ্যতা সহজ হয়।


Model (মডেল)

ভূমিকা:

  • মডেল অ্যাপ্লিকেশনের ডেটার সাথে কাজ করে এবং ডেটার ব্যবসায়িক লজিক পরিচালনা করে।
  • এটি ডাটাবেস থেকে ডেটা রিট্রাইভ, ইনসার্ট, আপডেট বা ডিলিট করার জন্য দায়ী।

বৈশিষ্ট্য:

  • ডেটার অবস্থা এবং আচরণ সংজ্ঞায়িত করে।
  • মডেল কোনো ভিউ বা কন্ট্রোলারের ওপর নির্ভর করে না, যা এটিকে স্বাধীন এবং পুনর্ব্যবহারযোগ্য করে তোলে।

উদাহরণ:

ধরা যাক একটি "Student" ক্লাস যেখানে শিক্ষার্থীর নাম, রোল নম্বর, এবং ক্লাস সম্পর্কিত ডেটা সংরক্ষিত হয়।

public class Student
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string Class { get; set; }
}

View (ভিউ)

ভূমিকা:

  • ভিউ ব্যবহারকারীর কাছে ডেটা উপস্থাপন করে এবং UI (User Interface) তৈরি করে।
  • এটি HTML, CSS এবং JavaScript ব্যবহার করে অ্যাপ্লিকেশনের ভিজ্যুয়াল অংশ তৈরি করে।

বৈশিষ্ট্য:

  • শুধুমাত্র ডেটা প্রদর্শনের জন্য দায়ী, তাই এতে কোনো ব্যবসায়িক লজিক থাকে না।
  • ভিউ সাধারণত মডেল থেকে ডেটা সংগ্রহ করে এবং ব্যবহারকারীর জন্য ফরম্যাট করে।

উদাহরণ:

একটি ভিউ যা শিক্ষার্থীর তথ্য টেবিল আকারে দেখায়।

<table>
    <tr>
        <th>Name</th>
        <th>Class</th>
    </tr>
    @foreach (var student in Model)
    {
        <tr>
            <td>@student.Name</td>
            <td>@student.Class</td>
        </tr>
    }
</table>

Controller (কন্ট্রোলার)

ভূমিকা:

  • কন্ট্রোলার ব্যবহারকারীর ইনপুট গ্রহণ করে এবং মডেল এবং ভিউ-এর মধ্যে সমন্বয় সাধন করে।
  • এটি অ্যাপ্লিকেশনের ব্যবসায়িক লজিক এবং কার্যকলাপ পরিচালনা করে।

বৈশিষ্ট্য:

  • এটি ভিউ এবং মডেলের সাথে যোগাযোগের মাধ্যম।
  • একটি কন্ট্রোলার সাধারণত Action Methods ধারণ করে, যা ব্যবহারকারীর অনুরোধ প্রসেস করে এবং ভিউতে রেসপন্স পাঠায়।

উদাহরণ:

একটি কন্ট্রোলার যা শিক্ষার্থীর তালিকা প্রদর্শন করে।

public class StudentController : Controller
{
    public IActionResult Index()
    {
        List<Student> students = GetStudents();
        return View(students);
    }

    private List<Student> GetStudents()
    {
        return new List<Student>
        {
            new Student { Id = 1, Name = "Rahim", Class = "10" },
            new Student { Id = 2, Name = "Karim", Class = "9" }
        };
    }
}

MVC প্যাটার্নের কাজের প্রক্রিয়া

  1. ব্যবহারকারীর অনুরোধ: ব্যবহারকারী ব্রাউজারে একটি URL টাইপ করেন।
  2. কন্ট্রোলারের কাজ: কন্ট্রোলার ব্যবহারকারীর অনুরোধ প্রসেস করে এবং প্রয়োজনীয় ডেটা মডেল থেকে সংগ্রহ করে।
  3. মডেলের কাজ: মডেল ডেটাবেস বা অন্যান্য ডেটা সোর্স থেকে ডেটা রিট্রাইভ করে।
  4. ভিউ তৈরি: কন্ট্রোলার প্রাপ্ত ডেটা ভিউতে পাঠায়, যা ডেটা ব্যবহারকারীর কাছে প্রদর্শন করে।

MVC প্যাটার্নের উপকারিতা

  • কোড আলাদা করা: কোড তিনটি পৃথক কম্পোনেন্টে বিভক্ত হওয়ায় এটি পড়তে এবং পরিচালনা করতে সহজ।
  • পরীক্ষণযোগ্যতা: কোড টেস্টিং সহজ হয়, কারণ প্রতিটি কম্পোনেন্ট আলাদা।
  • পুনর্ব্যবহারযোগ্যতা: একাধিক ভিউ একই মডেলের ডেটা ব্যবহার করতে পারে।
  • ডেভেলপমেন্ট সহজতর: বিভিন্ন ডেভেলপার একসাথে মডেল, ভিউ, এবং কন্ট্রোলার নিয়ে কাজ করতে পারে।

MVC আর্কিটেকচার একটি সুগঠিত পদ্ধতি প্রদান করে যা অ্যাপ্লিকেশন ডেভেলপমেন্টের প্রক্রিয়াকে কার্যকর এবং সংগঠিত করে। এর মাধ্যমে ডেভেলপাররা উচ্চমানের, রক্ষণাবেক্ষণযোগ্য এবং স্কেলযোগ্য অ্যাপ্লিকেশন তৈরি করতে পারে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion