প্রজেক্ট স্ট্রাকচার ব্যাখ্যা

Web Development - এএসপি ডট (ASP.Net) - ASP.Net প্রজেক্ট সেটআপ |

ASP.Net প্রজেক্টের স্ট্রাকচার ডেভেলপমেন্টের ধরন এবং ব্যবহৃত টেমপ্লেটের উপর নির্ভর করে ভিন্ন হতে পারে। তবে সাধারণভাবে, ASP.Net প্রজেক্টে কিছু নির্দিষ্ট ফোল্ডার এবং ফাইল থাকে, যা প্রজেক্টের সংগঠন এবং কার্যকারিতা নির্ধারণ করে।

এখানে ASP.Net Core Web Application (MVC) প্রজেক্টের স্ট্রাকচার ব্যাখ্যা করা হলো:


১. Solution File (.sln)

  • Solution File হলো মূল প্রজেক্ট ফাইল যা সমস্ত প্রজেক্ট এবং তাদের নির্ভরশীলতাকে একটি একক ইউনিট হিসেবে একত্রিত করে।
  • এটি প্রজেক্টের ফাইল এবং কোড ডিরেক্টরি সংযুক্ত করে এবং Visual Studio দ্বারা পরিচালিত হয়।

২. Program.cs

  • Program.cs ফাইল ASP.Net Core অ্যাপ্লিকেশনের entry point
  • এখানে Main() মেথড থাকে, যা অ্যাপ্লিকেশন শুরু করার সময় প্রথম এক্সিকিউট হয়।
  • অ্যাপ্লিকেশন কনফিগারেশন এবং WebHost সেটআপ এখানে করা হয়।

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseStartup<Startup>();
            });
    

৩. Startup.cs

  • Startup.cs ফাইল অ্যাপ্লিকেশন কনফিগারেশন এবং middleware এর সেটআপ পরিচালনা করে।
  • এখানে দুইটি প্রধান মেথড থাকে:

    • ConfigureServices(IServiceCollection services): এখানে পরিষেবাগুলি (services) রেজিস্টার করা হয় যেমন ডাটাবেস কনটেক্সট, অ্যাডমিন প্যানেল, লগিং ইত্যাদি।
    • Configure(IApplicationBuilder app, IWebHostEnvironment env): এখানে অ্যাপ্লিকেশনের HTTP request pipeline কনফিগার করা হয়।
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddControllersWithViews();
    }
    

৪. Controllers

  • Controllers ফোল্ডার MVC (Model-View-Controller) আর্কিটেকচারের অংশ। প্রতিটি কন্ট্রোলার একটি ক্লাস যা HTTP অনুরোধের জন্য কোড পরিচালনা করে।
  • কন্ট্রোলারের মাধ্যমে Models থেকে ডেটা নিয়ে তা Views তে পাঠানো হয়।
  • উদাহরণ:

    public class HomeController : Controller
    {
        public IActionResult Index()
        {
            return View();
        }
    }
    

৫. Models

  • Models ফোল্ডার ডেটা স্ট্রাকচার এবং ডোমেন লজিক ধারণ করে। সাধারণত, এটি ডাটাবেসের টেবিল বা অবজেক্টগুলির প্রতিনিধিত্ব করে।
  • Entity Framework বা ADO.NET এর মাধ্যমে মডেলগুলি ডাটাবেসের সাথে সংযুক্ত থাকে।
  • উদাহরণ:

    public class Product
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public decimal Price { get; set; }
    }
    

৬. Views

  • Views ফোল্ডার ব্যবহারকারীর সামনে প্রদর্শিত HTML পেজ ধারণ করে। এটি সাধারণত Razor ভিউ ইঞ্জিন ব্যবহার করে ডাইনামিক HTML তৈরি করে।
  • প্রতিটি Controller এর জন্য একটি ভিউ থাকে (যেমন Index.cshtml HomeController এর জন্য)।
  • উদাহরণ:

    @model IEnumerable<Product>
    <h1>Products</h1>
    <ul>
        @foreach(var product in Model)
        {
            <li>@product.Name</li>
        }
    </ul>
    

৭. wwwroot

  • wwwroot ফোল্ডার হলো অ্যাপ্লিকেশনের Static files এর জন্য, যেমন CSS, JavaScript, Images ইত্যাদি।
  • এই ফোল্ডারের সমস্ত ফাইল সরাসরি HTTP মাধ্যমে অ্যাক্সেস করা যায়।
  • উদাহরণ: wwwroot/css/styles.css

৮. appsettings.json

  • appsettings.json ফাইল অ্যাপ্লিকেশনের কনফিগারেশন সেটিংস ধারণ করে, যেমন ডাটাবেস কানেকশন স্ট্রিং, লগিং কনফিগারেশন ইত্যাদি।

    {
        "ConnectionStrings": {
            "DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=MyAppDb;Trusted_Connection=True;MultipleActiveResultSets=true"
        }
    }
    

৯. appsettings.Development.json

  • appsettings.Development.json হলো appsettings.json এর একটি বিকল্প ফাইল, যা ডেভেলপমেন্ট পরিবেশের জন্য কনফিগারেশন ধারণ করে।
  • এটি ডেভেলপমেন্ট পরিবেশে অ্যাপ্লিকেশনের জন্য ভিন্ন কনফিগারেশন ব্যবহার করতে সাহায্য করে।

১০. Properties

  • Properties ফোল্ডার সাধারণত প্রজেক্টের মেটাডেটা এবং সেটিংস ধারণ করে।
  • launchSettings.json ফাইল থাকে এখানে, যা ডিবাগিং কনফিগারেশন এবং প্রজেক্ট চালানোর পরিবেশ নির্ধারণ করে।

১১. Migrations (এনটিটি ফ্রেমওয়ার্ক ব্যবহার করলে)

  • Migrations ফোল্ডার Entity Framework (EF) ব্যবহার করলে ডাটাবেস মাইগ্রেশন ফাইলগুলির জন্য। এটি ডাটাবেসের কাঠামো এবং পরিবর্তনগুলি ট্র্যাক করতে ব্যবহৃত হয়।

    dotnet ef migrations add InitialCreate
    dotnet ef database update
    

১২. Services

  • Services ফোল্ডারে Business Logic, Dependency Injection (DI), এবং Reusable Services রাখা হয়।
  • এখানে আপনি আপনার প্রজেক্টের সাধারণ সেবা, যেমন ডেটা রেপোজিটরি, ক্যাশিং সার্ভিস, ইমেইল সার্ভিস ইত্যাদি সংজ্ঞায়িত করবেন।

সারাংশ

ASP.Net প্রজেক্টের স্ট্রাকচার MVC (Model-View-Controller) আর্কিটেকচারের উপর ভিত্তি করে তৈরি। প্রতিটি ফোল্ডার এবং ফাইলের নির্দিষ্ট কাজ রয়েছে:

  • Controllers: ইউজারের HTTP অনুরোধ পরিচালনা করে।
  • Models: ডেটা এবং লজিক ধারণ করে।
  • Views: ইউজারের জন্য HTML ইন্টারফেস তৈরি করে।
  • wwwroot: Static ফাইল (CSS, JS, Images) ধারণ করে।
  • Startup.cs: অ্যাপ্লিকেশনের কনফিগারেশন এবং middleware এর সেটআপ পরিচালনা করে।

ASP.Net প্রজেক্টের এই স্ট্রাকচার আপনাকে পরিষ্কার, সিম্পল এবং রক্ষণাবেক্ষণে সহজ কোড লিখতে সাহায্য করে।

Content added By
Promotion