BackboneJS Collection এর ধারণা

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

296

BackboneJS তে Collection হলো একটি অবজেক্ট যা Model এর একটি গ্রুপ বা অ্যারে রূপে কাজ করে। এটি একাধিক Model ধারণ করে এবং সেগুলোর উপর অপারেশন (যেমন: অ্যাড, রিমুভ, ফিল্টার) করা সহজ করে তোলে। Collection এর মূল উদ্দেশ্য হলো মডেলগুলোর গ্রুপিং এবং তাদের সাথে সম্পর্কিত লজিক (যেমন ডেটা ফেচিং, ফিল্টারিং, সেভিং) পরিচালনা করা।

BackboneJS তে Model এর মতো Collection এরও অনেক ফিচার রয়েছে যা ডেটার উপর কার্যকরভাবে কাজ করতে সাহায্য করে।


BackboneJS Collection এর প্রধান বৈশিষ্ট্য

  1. Model এর গ্রুপিং: Collection মডেলগুলোর গ্রুপ তৈরি করে এবং সেগুলোর মধ্যে ইন্টারঅ্যাকশন সহজ করে দেয়।
  2. ডেটা পরিচালনা: Collection তে একাধিক Model থাকার ফলে সহজেই মডেলগুলোকে অ্যাড, রিমুভ বা ফিল্টার করা যায়।
  3. ইভেন্ট হ্যান্ডলিং: Collection এ যে কোনো পরিবর্তন ঘটলে তা ইভেন্ট হিসেবে ট্রিগার হয়, যাতে অন্যান্য অংশ যেমন ভিউ তা বুঝতে পারে।
  4. ফিল্টারিং এবং সোর্টিং: Collection এ থাকা মডেলগুলোর উপর ফিল্টার এবং সোর্টিং কার্যকরভাবে করা যায়।
  5. ফেচ এবং সেভিং: Collection গুলি সার্ভার থেকে ডেটা ফেচ করতে এবং সেভ করতে সক্ষম।

BackboneJS Collection তৈরি করা

BackboneJS এ একটি Collection তৈরি করতে Backbone.Collection.extend() মেথড ব্যবহার করা হয়। Collection একটি নির্দিষ্ট মডেল (Model) এর একটি গ্রুপ হিসেবে কাজ করে, অর্থাৎ Collection এ যোগ হওয়া সব মডেল নির্দিষ্ট Model টাইপের হয়।

উদাহরণ:

// Book Model তৈরি করা
var Book = Backbone.Model.extend({
    defaults: {
        title: 'Unknown Title',
        author: 'Unknown Author'
    }
});

// BookCollection তৈরি করা, যা Book মডেল ধারণ করবে
var BookCollection = Backbone.Collection.extend({
    model: Book
});

// নতুন Collection তৈরি করা
var books = new BookCollection([
    { title: 'BackboneJS for Beginners', author: 'John Doe' },
    { title: 'Advanced BackboneJS', author: 'Jane Smith' }
]);

// Collection এর ডেটা দেখতে
console.log(books.models);  // Output: [Book, Book]

এখানে BookCollection একটি Collection যা Book মডেল ধারণ করবে। এরপর, আমরা দুটি Book মডেল যুক্ত করেছি এবং সেগুলোর ডেটা দেখতে পারি।


BackboneJS Collection এর মেথডসমূহ

BackboneJS Collection অনেক শক্তিশালী মেথড সরবরাহ করে, যা ডেটা ম্যানিপুলেশন এবং ইন্টারঅ্যাকশন সহজ করে তোলে। কিছু জনপ্রিয় মেথড নিচে আলোচনা করা হলো:

1. add() - Collection এ নতুন Model যোগ করা

var newBook = new Book({ title: 'New Book', author: 'New Author' });
books.add(newBook);
console.log(books.models.length);  // Output: 3 (আগের দুইটি এবং নতুন বই)

2. remove() - Collection থেকে Model অপসারণ করা

books.remove(newBook);
console.log(books.models.length);  // Output: 2 (নতুন বইটি অপসারণ হয়েছে)

3. get() - একটি নির্দিষ্ট Model খুঁজে বের করা

var book = books.get(1);  // ID 1 এর Model খুঁজে বের করা
console.log(book.get('title'));  // Output: 'BackboneJS for Beginners'

4. findWhere() - Collection এ একটি Model খুঁজে বের করা নির্দিষ্ট শর্ত অনুযায়ী

var book = books.findWhere({ author: 'Jane Smith' });
console.log(book.get('title'));  // Output: 'Advanced BackboneJS'

5. filter() - Collection এ শর্ত অনুযায়ী মডেলগুলো ফিল্টার করা

var filteredBooks = books.filter(function(book) {
    return book.get('author') === 'John Doe';
});
console.log(filteredBooks.length);  // Output: 1 (একটি বই যেখানে লেখক John Doe)

6. sort() - Collection কে সোর্ট করা

books.comparator = function(book) {
    return book.get('title');
};
books.sort();
console.log(books.models);  // Output: বইগুলো শিরোনামের অর্ডারে সাজানো হবে

7. each() - Collection এর প্রতিটি Model উপর ফাংশন চালানো

books.each(function(book) {
    console.log(book.get('title'));
});
// Output:
// BackboneJS for Beginners
// Advanced BackboneJS

BackboneJS Collection এর সাথে AJAX ব্যবহার

BackboneJS Collection তে fetch() এবং create() মেথড রয়েছে যা সার্ভারের সাথে ইন্টারঅ্যাকশন করতে সহায়তা করে। আপনি সার্ভার থেকে ডেটা লোড করতে পারেন এবং Collection এ তা যোগ করতে পারেন।

উদাহরণ:

var BookCollection = Backbone.Collection.extend({
    model: Book,
    url: '/api/books'  // সার্ভারের URL যেখানে ডেটা ফেচ করা হবে
});

// Collection থেকে ডেটা ফেচ করা
var books = new BookCollection();
books.fetch({
    success: function(collection, response) {
        console.log('Books fetched:', collection);
    },
    error: function(collection, error) {
        console.log('Error fetching books:', error);
    }
});

এখানে fetch() মেথড ব্যবহার করে সার্ভার থেকে ডেটা ফেচ করা হয়েছে এবং সাফল্য বা ব্যর্থতার পরবর্তী পদক্ষেপ নির্ধারণ করা হয়েছে।


Collection এর ইভেন্ট হ্যান্ডলিং

BackboneJS তে Collection এর সাথে সম্পর্কিত পরিবর্তনগুলো ইভেন্টের মাধ্যমে হ্যান্ডল করা হয়। যখন একটি মডেল Collection এ যোগ হয় বা মুছে ফেলা হয়, তখন add, remove, change ইত্যাদি ইভেন্ট ট্রিগার হয়।

উদাহরণ:

// Collection এ মডেল যোগ হওয়া ইভেন্ট হ্যান্ডল করা
books.on('add', function(book) {
    console.log('A new book was added:', book.get('title'));
});

// নতুন বই Collection এ যোগ করা
books.add(new Book({ title: 'Learning BackboneJS', author: 'Alice Green' }));
// Output: A new book was added: Learning BackboneJS

সারাংশ

BackboneJS Collection হলো একটি গ্রুপ যেখানে একাধিক Model রাখা হয় এবং তার ওপর বিভিন্ন অপারেশন (যেমন অ্যাড, রিমুভ, ফিল্টার) করা যায়। এটি ডেটার ওপর কার্যকরভাবে কাজ করার জন্য বিভিন্ন মেথড সরবরাহ করে, যেমন add(), remove(), get(), filter() ইত্যাদি। Collection এছাড়াও AJAX ফেচিং এবং সেভিংয়ের জন্য সক্ষম এবং ইভেন্ট হ্যান্ডলিংয়ের মাধ্যমে ডেটার পরিবর্তনকে অন্য অংশে প্রভাবিত করতে পারে।

BackboneJS Collection মডেলগুলোর গ্রুপিং এবং তাদের ম্যানিপুলেশন সহজ করে দেয়, যা বড় এবং কমপ্লেক্স অ্যাপ্লিকেশনগুলো তৈরি করতে সহায়ক।

Content added By
Promotion

Are you sure to start over?

Loading...