Model তৈরি করা এবং Methods সংযুক্ত করা

BackboneJS Model - ব্যাকবোনজেএস (BackboneJS) - Web Development

310

BackboneJS এ Model হল ডেটা এবং লজিকের একটি ধারণা। এটি অ্যাপ্লিকেশনের মূল কাঠামো এবং ব্যবহারকারীর ডেটা ম্যানেজমেন্টের জন্য অত্যন্ত গুরুত্বপূর্ণ। BackboneJS এর মডেলটি JavaScript অবজেক্ট হিসেবে কাজ করে এবং এতে বিভিন্ন প্রপার্টি (properties) এবং মেথড (methods) থাকতে পারে।

এখানে, আপনি শিখবেন কীভাবে BackboneJS এর Model তৈরি করবেন এবং মডেলে methods যোগ করবেন।


1. Model তৈরি করা

BackboneJS এ একটি Model তৈরি করতে হলে, প্রথমে Backbone.Model কে এক্সটেন্ড (extend) করতে হয়। এর মাধ্যমে আপনি নতুন মডেল ক্লাস তৈরি করতে পারেন, যা ডেটার বিভিন্ন প্রপার্টি এবং মেথড ধারণ করবে।

মডেল তৈরি করার উদাহরণ:

// Book মডেল তৈরি করা
var Book = Backbone.Model.extend({
    // ডিফল্ট মান
    defaults: {
        title: 'Unknown',
        author: 'Unknown',
        year: 2021
    }
});

// মডেল এর একটি নতুন ইনস্ট্যান্স তৈরি করা
var myBook = new Book({
    title: 'BackboneJS for Beginners',
    author: 'John Doe',
    year: 2022
});

// মডেল এর ডেটা দেখানো
console.log(myBook.get('title'));  // Output: BackboneJS for Beginners
console.log(myBook.get('author')); // Output: John Doe
console.log(myBook.get('year'));   // Output: 2022

এখানে, defaults অবজেক্টে ডিফল্ট প্রপার্টি সেট করা হয়েছে, যা মডেলটির ইনস্ট্যান্স তৈরির সময় যদি কোনো মান না দেওয়া হয়, তাহলে এই ডিফল্ট মানগুলো ব্যবহৃত হবে।


2. Model Methods সংযুক্ত করা

BackboneJS মডেলে আপনি সাধারণ JavaScript ফাংশন বা মেথডও সংযুক্ত করতে পারেন। এই মেথডগুলি মডেলটির ডেটার সাথে কাজ করতে পারে এবং অ্যাপ্লিকেশনের লজিক বা ফিচার সংযুক্ত করতে সাহায্য করতে পারে।

মেথড সংযুক্ত করার উদাহরণ:

// Book মডেল তৈরি করা
var Book = Backbone.Model.extend({
    defaults: {
        title: 'Unknown',
        author: 'Unknown',
        year: 2021
    },

    // মডেলে একটি method যোগ করা
    getBookDetails: function() {
        return this.get('title') + ' by ' + this.get('author') + ', published in ' + this.get('year');
    },

    // মডেলটির year আপডেট করার জন্য method
    updateYear: function(newYear) {
        this.set('year', newYear);
    }
});

// মডেল এর একটি ইনস্ট্যান্স তৈরি করা
var myBook = new Book({
    title: 'BackboneJS for Beginners',
    author: 'John Doe',
    year: 2022
});

// মডেলের method কল করা
console.log(myBook.getBookDetails());  // Output: BackboneJS for Beginners by John Doe, published in 2022

// year আপডেট করা
myBook.updateYear(2023);

// আপডেট হওয়া year দেখানো
console.log(myBook.get('year'));   // Output: 2023
console.log(myBook.getBookDetails());  // Output: BackboneJS for Beginners by John Doe, published in 2023

এখানে, getBookDetails মেথডটি মডেলের ডেটা থেকে বইয়ের বিস্তারিত তথ্য রিটার্ন করছে এবং updateYear মেথডটি বইয়ের প্রকাশনার বছর আপডেট করছে।


3. Event Handling Model এর মাধ্যমে

BackboneJS মডেলে ইভেন্ট হ্যান্ডলিংও খুব সহজ। আপনি মডেলটি পরিবর্তন হলে ইভেন্ট ট্রিগার করতে পারেন এবং এই ইভেন্টগুলি হ্যান্ডেল করতে পারেন।

ইভেন্ট হ্যান্ডলিংয়ের উদাহরণ:

// Book মডেল তৈরি করা
var Book = Backbone.Model.extend({
    defaults: {
        title: 'Unknown',
        author: 'Unknown',
        year: 2021
    }
});

// মডেলটির ইনস্ট্যান্স তৈরি
var myBook = new Book({
    title: 'BackboneJS for Beginners',
    author: 'John Doe',
    year: 2022
});

// মডেলের উপর change ইভেন্ট সেট করা
myBook.on('change:title', function() {
    console.log('Title has been updated to: ' + myBook.get('title'));
});

// title পরিবর্তন করা
myBook.set('title', 'Advanced BackboneJS');

// ইভেন্ট ট্রিগার হবে এবং কনসোলে "Title has been updated to: Advanced BackboneJS" আউটপুট হবে

এখানে, যখনই মডেলের title প্রপার্টি পরিবর্তন হয়, তখন change:title ইভেন্ট ট্রিগার হবে এবং ইভেন্ট হ্যান্ডলার কল হবে।


4. Model এর মধ্যে Validation যুক্ত করা

BackboneJS এ আপনি মডেলের ডেটা ভ্যালিডেশনও করতে পারেন। মডেলটি ডেটা সেট করার আগে কিছু চেক করতে পারবেন, যেমন: যদি কোনো প্রপার্টি অনুপস্থিত থাকে, অথবা এর মান সঠিক না হয়।

Validation এর উদাহরণ:

var Book = Backbone.Model.extend({
    defaults: {
        title: 'Unknown',
        author: 'Unknown',
        year: 2021
    },

    // Validation method
    validate: function(attrs) {
        if (!attrs.title) {
            return "Title is required!";
        }
        if (attrs.year < 1900 || attrs.year > new Date().getFullYear()) {
            return "Year must be between 1900 and the current year!";
        }
    }
});

// মডেলের একটি ইনস্ট্যান্স তৈরি
var myBook = new Book({
    title: 'BackboneJS Guide',
    author: 'John Doe',
    year: 1890
});

// যদি ভ্যালিডেশন ফেইল করে, তাহলে error দেখাবে
if (!myBook.isValid()) {
    console.log(myBook.validationError); // Output: "Year must be between 1900 and the current year!"
}

এখানে, validate মেথডের মাধ্যমে মডেলের ডেটা যাচাই করা হয়েছে। যদি কোনো সমস্যা থাকে, তাহলে validationError প্রপার্টি সেট হবে এবং আপনি এই ত্রুটিটি ধরতে পারবেন।


সারাংশ

BackboneJS এর Model ডেটা ম্যানেজমেন্টের জন্য অত্যন্ত গুরুত্বপূর্ণ। মডেল তৈরি করার সময় আপনি:

  • defaults প্রপার্টি দিয়ে ডিফল্ট মান নির্ধারণ করতে পারেন।
  • methods সংযুক্ত করতে পারেন, যা ডেটার সাথে কাজ করবে বা লজিক প্রয়োগ করবে।
  • Event handling ব্যবহার করে মডেলের পরিবর্তন ট্র্যাক করতে পারেন।
  • Validation যোগ করে ডেটার বৈধতা পরীক্ষা করতে পারেন।

এগুলি BackboneJS এর মডেল ব্যবহারের মৌলিক বিষয়, যা আপনাকে ডেটা ম্যানিপুলেশন এবং অ্যাপ্লিকেশন লজিক ব্যবস্থাপনা করতে সহায়তা করবে।

Content added By
Promotion

Are you sure to start over?

Loading...