BackboneJS ওয়েব অ্যাপ্লিকেশনে একটি স্ট্রাকচার দেয় যা বিজনেস লজিক এবং ইউজার ইন্টারফেস লজিক আলাদা করার সুযোগ দেয়।
BackboneJS-এর আর্কিটেকচার নিচের মডিউলগুলো ধারণ করে -
HTTP Request
HTTP ক্লায়েন্ট একটি HTTP রিকোয়েস্ট সার্ভারে পাঠায় রিকোয়েস্ট মেসেজের রূপে যেখানে ওয়েব ব্রাউজার, সার্চ ইঞ্জিন ইত্যাদি HTTP ক্লায়েন্ট হিসেবে কাজ করে। ইউজার HTTP রিকোয়েস্ট প্রোটোকল ব্যবহার করে ফাইল (ডকুমেন্ট, ইমেজ ইত্যাদি) রিকোয়েস্ট করে।
Router
এটি ক্লায়েন্ট-সাইড অ্যাপ্লিকেশন রাউটিংয়ের জন্য ব্যবহৃত হয় এবং সেগুলোকে URL ব্যবহার করে অ্যাকশন এবং ইভেন্টের সাথে কানেক্ট করে। এটি অ্যাপ্লিকেশনের অবজেক্টের URL রিপ্রেজেন্টেশন। এই URL ইউজার ম্যানুয়ালি পরিবর্তন করে। ব্যাকবোন এই URL ব্যবহার করে যাতে বুঝতে পারে কোন অ্যাপ্লিকেশন স্টেট ইউজারের কাছে পাঠানো বা উপস্থাপন করতে হবে।
View
BackboneJS ভিউযের দায়িত্ব হলো অ্যাপ্লিকেশন থেকে কী এবং কীভাবে ডিসপ্লে করা হবে এবং এগুলো অ্যাপ্লিকেশনের জন্য HTML মার্কআপ ধারণ করে না। এটি মডেলের ডেটা ইউজারের কাছে প্রেজেন্ট করার পেছনের আইডিয়া স্পেসিফাই করে। ভিউগুলো "আপনার ডেটা মডেল কীভাবে দেখাবে" তা রিফ্লেক্ট করতে ব্যবহৃত হয়।
Events
ইভেন্ট যেকোনো অ্যাপ্লিকেশনের মূল অংশ। এটি ইউজার কাস্টম ইভেন্টকে একটি অ্যাপ্লিকেশনের সাথে বাঁধে। এগুলো যেকোনো অবজেক্টে মিক্স করা যায় এবং কাস্টম ইভেন্ট বایند এবং ট্রিগার করতে সক্ষম। আপনি আপনার পছন্দের নাম দিয়ে কাস্টম ইভেন্ট বایند করতে পারেন।
Model
মডেল বিজনেস এন্টিটি কে কিছু বিজনেস লজিক এবং বিজনেস ভ্যালিডেশনের সাথে উপস্থাপন করে। এগুলো প্রধানত ডেটা স্টোরেজ এবং বিজনেস লজিকের জন্য ব্যবহৃত হয়। মডেলগুলো ডেটা স্টোরেজ থেকে রিট্রিভ এবং সেভ করা যায়। একটি মডেল ভিউ দিয়ে পাস করা ইভেন্টের মাধ্যমে রাউটার ব্যবহার করে HTTP রিকোয়েস্ট নেয় এবং ডেটাবেস থেকে ডেটা সিঙ্ক্রোনাইজ করে ক্লায়েন্টকে রেসপন্স পাঠায়।
Collection
একটি কালেকশন হলো মডেলের একটি সেট যা ইভেন্ট বাইন্ড করে যখন কালেকশনে মডেল মডিফাই হয়। কালেকশনে মডেলের একটি লিস্ট থাকে যা লুপে প্রসেস করা যায় এবং সর্টিং এবং ফিল্টারিং সাপোর্ট করে। কালেকশন তৈরি করার সময়, আমরা ডিফাইন করতে পারি কালেকশনটি কী টাইপের মডেল ধারণ করবে প্রপার্টি ইনস্ট্যান্সসহ। একটি মডেলে ট্রিগার হওয়া যেকোনো ইভেন্ট কালেকশনে মডেলেও ট্রিগার হবে।
Data Source
এটি সার্ভার থেকে ডেটাবেসের সাথে কানেকশন সেটআপ এবং ক্লায়েন্ট অনুরোধ করা তথ্য ধারণ করে।