সফটওয়্যার ডিজাইন প্যাটার্ন
কম্পিউটার প্রোগ্রামিং এ ডিজাইন প্যাটার্ন, কিভাবে প্রোগ্রামিং সমস্যা সমাধান করতে হবে সেটি বর্ণনা করে। ডিজাইন প্যাটার্ন এ প্রোগ্রামিং সমস্যার রি-ইউজাবল(reusable) অংশ গুলো চিহ্নিত করে ছোট ছোট ব্লকে ভাগ করা হয়, পরবর্তীতে সেই ছোট ছোট ব্লক প্রয়োজন অনুযায়ী বারবার ব্যবহার করা হয়।
আমরা প্রতিদিন খাই, ঘুমাই, কাজ করি। এগুলো হচ্ছে আমাদের প্রতিদিনের রি-ইউজাবল কাজ। আমরা প্রতিদিন এই একই কাজ গুলোই করতে থাকি।
প্রোগ্রামকে সহজভাবে রক্ষণাবেক্ষণ ও রি-ইউজ করার ক্ষেত্রে ডিজাইন প্যাটার্ন ব্যবহৃত হয়।
যেমন বিল্ডিং/বাড়ী তৈরী করার ক্ষেত্রে কিচেন রুম, বাথ রুম, বেড রুম ইত্যাদির জন্য আলাদা আলাদা ব্লক তৈরী করতে পারি অথবা বড় একটা হল রুম তৈরী করে সেই এক রুমের মধ্যেই থাকা, খাওয়া, রান্না, ঘুম, বাথ ইত্যাদি করতে পারি। এখন কোন পদ্ধতিতে বিল্ডিং তৈরী করলে আমাদের জন্য ভালো হবে? নিশ্চয়ই আলাদা আলাদা ব্লকে তৈরী করলে।
প্রোগ্রামিং এর ক্ষেত্রেও ঠিক এই রকমভাবে রি-ইউজাবল অংশ গুলো চিহ্নিত করে আলাদা আলাদা ব্লক তৈরী করে নিলে সেটি মেইন্টেইন করা অনেক সহজ হয় এবং প্রোগ্রামের পারফরমেন্সও অনেক বেশি ফাস্ট হয়।
ডিজাইন প্যাটার্নকে নিম্নোক্ত ভাগ ভাগ করা হয়ে থাকেঃ
১। ক্রিয়েশনাল প্যাটার্ন (Creational Pattern)
২। স্ট্রাকচারাল প্যাটার্ন (Structural Pattern)
৩। বিহ্যায়ভিয়েরল প্যাটার্ন (Behavioral Pattern)
৪। কনকারেনসি প্যাটার্ন (Concurrency Pattern)
আমরা প্রতিদিন খাই, ঘুমাই, কাজ করি। এগুলো হচ্ছে আমাদের প্রতিদিনের রি-ইউজাবল কাজ। আমরা প্রতিদিন এই একই কাজ গুলোই করতে থাকি।
প্রোগ্রামকে সহজভাবে রক্ষণাবেক্ষণ ও রি-ইউজ করার ক্ষেত্রে ডিজাইন প্যাটার্ন ব্যবহৃত হয়।
যেমন বিল্ডিং/বাড়ী তৈরী করার ক্ষেত্রে কিচেন রুম, বাথ রুম, বেড রুম ইত্যাদির জন্য আলাদা আলাদা ব্লক তৈরী করতে পারি অথবা বড় একটা হল রুম তৈরী করে সেই এক রুমের মধ্যেই থাকা, খাওয়া, রান্না, ঘুম, বাথ ইত্যাদি করতে পারি। এখন কোন পদ্ধতিতে বিল্ডিং তৈরী করলে আমাদের জন্য ভালো হবে? নিশ্চয়ই আলাদা আলাদা ব্লকে তৈরী করলে।
প্রোগ্রামিং এর ক্ষেত্রেও ঠিক এই রকমভাবে রি-ইউজাবল অংশ গুলো চিহ্নিত করে আলাদা আলাদা ব্লক তৈরী করে নিলে সেটি মেইন্টেইন করা অনেক সহজ হয় এবং প্রোগ্রামের পারফরমেন্সও অনেক বেশি ফাস্ট হয়।
ডিজাইন প্যাটার্নকে নিম্নোক্ত ভাগ ভাগ করা হয়ে থাকেঃ
১। ক্রিয়েশনাল প্যাটার্ন (Creational Pattern)
২। স্ট্রাকচারাল প্যাটার্ন (Structural Pattern)
৩। বিহ্যায়ভিয়েরল প্যাটার্ন (Behavioral Pattern)
৪। কনকারেনসি প্যাটার্ন (Concurrency Pattern)
Comments
Post a Comment