BackboneJS এ Model একটি গুরুত্বপূর্ণ অংশ, যা ডেটা এবং এর সাথে সম্পর্কিত লজিক হ্যান্ডল করে। মূলত, Model হলো একটি ডেটা রেপ্রেজেন্টেশন এবং এর মধ্যে থাকা ডেটা অ্যাক্সেস ও ম্যানিপুলেট করার জন্য বিভিন্ন মেথড প্রোভাইড করে। একটি Model সাধারণত একটি নির্দিষ্ট ডেটা অবজেক্টের সাথে কাজ করে এবং attributes, validation, default values, events, এবং CRUD (Create, Read, Update, Delete) অপারেশনের জন্য মেথড সমূহ প্রদান করে।
BackboneJS Model এর প্রধান ফিচারসমূহ
- ডেটা স্টোরেজ: Model ডেটার একটি কনটেইনার হিসেবে কাজ করে, যেখানে ডেটার মান রাখা হয় এবং অ্যাক্সেস করা যায়।
- Attributes: Model এর মধ্যে ডেটার মান সংরক্ষিত থাকে, যা
attributesনামে পরিচিত। এগুলো মূলত key-value পেয়ার হিসেবে থাকে। - Default Values: যদি কোনো attribute দেওয়া না হয়, তবে Model ডিফল্ট ভ্যালু সেট করে রাখতে পারে।
- Validation: Model এর মধ্যে ডেটা ভ্যালিডেশন করা যায় যাতে সঠিক ডেটা এন্ট্রি নিশ্চিত করা যায়।
- Event Handling: Model ইভেন্ট হ্যান্ডলিং এর মাধ্যমে ডেটার পরিবর্তন বা অন্য কোনো ইভেন্ট ট্রিগার করা যেতে পারে।
- CRUD অপারেশন: Model CRUD অপারেশন (Create, Read, Update, Delete) সমর্থন করে, যা API এর মাধ্যমে ডেটা ম্যানিপুলেট করতে সাহায্য করে।
BackboneJS Model এর কাঠামো
BackboneJS Model তৈরি করতে, Backbone.Model.extend() মেথড ব্যবহার করতে হয়। এতে মডেল ক্লাসটি কাস্টমাইজ করা যায় এবং তার মধ্যে বিভিন্ন attribute এবং মেথড নির্ধারণ করা যায়।
একটি Model তৈরি করা
// Model তৈরি করা
var Book = Backbone.Model.extend({
// Default values
defaults: {
title: 'Unknown Title',
author: 'Unknown Author',
year: 2020
},
// Model method
getBookInfo: function() {
return this.get('title') + ' by ' + this.get('author');
}
});
// Model এর একটি ইনস্ট্যান্স তৈরি করা
var myBook = new Book({ title: 'BackboneJS for Beginners', author: 'John Doe', year: 2021 });
// Model এর ডেটা আউটপুট করা
console.log(myBook.get('title')); // Output: BackboneJS for Beginners
console.log(myBook.getBookInfo()); // Output: BackboneJS for Beginners by John Doe
Model এর গুরুত্বপূর্ণ মেথডসমূহ
BackboneJS Model এ কিছু গুরুত্বপূর্ণ বিল্ট-ইন মেথড রয়েছে, যেগুলো ডেটা ম্যানিপুলেশন এবং অ্যাক্সেসের জন্য ব্যবহার করা হয়:
get(attribute): Model এর একটি নির্দিষ্ট attribute এর মান ফেরত দেয়।var title = myBook.get('title'); console.log(title); // Output: BackboneJS for Beginnersset(attribute, value): Model এর একটি attribute এর মান সেট করে।myBook.set('year', 2022); console.log(myBook.get('year')); // Output: 2022save(): Model এর ডেটা সার্ভারে সেভ (বিক্রয় বা আপডেট) করে। এটি সাধারণত API কলের সাথে কাজ করে।myBook.save();destroy(): Model কে সার্ভার থেকে মুছে ফেলে।myBook.destroy();toJSON(): Model এর ডেটাকে JSON ফরম্যাটে রিটার্ন করে।console.log(myBook.toJSON());
BackboneJS Model এ ভ্যালিডেশন
Model এর মধ্যে ডেটা ভ্যালিডেশন করা যায় যাতে শুধুমাত্র সঠিক ডেটা স্টোর করা হয়। এটি validate() মেথডের মাধ্যমে করা হয়।
var Book = Backbone.Model.extend({
defaults: {
title: 'Unknown Title',
author: 'Unknown Author'
},
validate: function(attrs) {
if (!attrs.title) {
return 'Title is required';
}
if (!attrs.author) {
return 'Author is required';
}
}
});
var myBook = new Book({ title: '', author: 'John Doe' });
if (!myBook.isValid()) {
console.log(myBook.validationError); // Output: Title is required
}
BackboneJS Model এ ইভেন্ট হ্যান্ডলিং
BackboneJS মডেল ইভেন্ট হ্যান্ডলিং সমর্থন করে, যার মাধ্যমে আপনি মডেল ডেটার পরিবর্তন বা অন্য কোনো ইভেন্টে হ্যান্ডলার প্রয়োগ করতে পারেন।
var Book = Backbone.Model.extend({
defaults: {
title: 'Unknown Title'
}
});
var myBook = new Book();
myBook.on('change:title', function() {
console.log('Title has been changed to: ' + myBook.get('title'));
});
myBook.set('title', 'BackboneJS for Beginners');
// Output: Title has been changed to: BackboneJS for Beginners
সারাংশ
BackboneJS এর Model হলো একটি ডেটা অবজেক্ট যা ডেটার সঞ্চয়ন, পরিবর্তন, এবং ভ্যালিডেশন হ্যান্ডলিং করে। এটি attributes, default values, validation, এবং CRUD operations এর জন্য মেথড প্রদান করে। Model এর মাধ্যমে আপনি ডেটাকে সহজে ম্যানিপুলেট করতে পারবেন এবং ইভেন্ট হ্যান্ডলিংয়ের মাধ্যমে পরিবর্তন ট্র্যাক করতে পারবেন।
BackboneJS এর Model আপনার অ্যাপ্লিকেশনের ডেটার সাথে কাজ করার একটি শক্তিশালী উপায় এবং এটি মডেল-ভিউ-কন্ট্রোলার (MVC) আর্কিটেকচারের একটি গুরুত্বপূর্ণ অংশ।
Read more