- প্রধান এবং সহায়ক মডিউল
- মডুলার প্রোগ্রামিং বৈশিষ্ট্য
- পরিমিতি
- ফাংশন সংজ্ঞা
- ভেরিয়েবলের ব্যাপ্তি
- এটি পদ্ধতিগত
- মডুলার প্রোগ্রামিং উদাহরণ
- বাস্তব জীবনে পরিমিতি
- জাভা ফাংশন
- সুবিধা
- স্বতন্ত্র প্রকল্প প্রোগ্রামিং
- দক্ষ প্রোগ্রাম বিকাশ
- মডিউল একাধিক ব্যবহার
- ডিবাগিং এবং পরিবর্তন সহজ
- অসুবিধেও
- অত্যধিক অবজেক্ট-ভিত্তিক কাঠামো
- মডিউলগুলি খুব ছোট
- বিনা কারণে পচে যাওয়া
- অ্যাপ্লিকেশন
- সি ভাষা
- তথ্যসূত্র
মডুলার প্রোগ্রামিং সফটওয়্যার উন্নয়ন, যেখানে প্রোগ্রাম অনেক ছোট ব্লক বা স্বশাসিত উপাদান মডিউল নামক, যা, সামলানো লজিক্যাল এবং কার্মিক হয় বিভক্ত করা হয় জন্য ব্যবহৃত একটি কৌশল।
মডিউলটি একটি নির্দিষ্ট সমস্যার সমাধান করে যে বিবৃতিগুলির একটি ব্লক। প্রতিটি মডিউলটির নিজস্ব কার্যকারিতা সম্পাদনের জন্য প্রয়োজনীয় সমস্ত কিছু রয়েছে এবং বাকি প্রকল্পকে প্রভাবিত না করে সম্পাদনা বা সংশোধন করা যেতে পারে।
মডিউল ব্যবহার করে সমস্যা সমাধানের উদাহরণ। সূত্র: কায়াউ / সিসি বিওয়াই (https://creativecommons.org/license/by/3.0)
প্রোগ্রামিংয়ের এই পদ্ধতিটি একটি স্থায়ী মডিউল ইন্টারফেস বজায় রেখে অর্জন করা হয় যা প্রতিটি মডিউলটির কার্যকারিতা অ্যাক্সেস করার জন্য অন্যান্য সফ্টওয়্যার উপাদান দ্বারা ব্যবহৃত হয়।
মডিউল উপাদানগুলির মধ্যে যৌক্তিক সীমানা চাপায়, রক্ষণাবেক্ষণযোগ্যতা উন্নত করে। এগুলি ইন্টারফেসের মাধ্যমে সংযুক্ত করা হয়, যা বিভিন্ন মডিউলগুলির মধ্যে নির্ভরতা হ্রাস করতে এমনভাবে ডিজাইন করা হয়েছে।
প্রধান এবং সহায়ক মডিউল
একটি মডিউল এবং বেশ কয়েকটি মাধ্যমিক মডিউলগুলি মডিউলার প্রোগ্রামিং তৈরি করে। প্রধান মডিউল থেকে, সহায়ক মডিউলগুলির কাজগুলিতে কল করা হয়।
এই প্লাগইনগুলি পৃথক এক্সিকিউটেবল ফাইল হিসাবে বিদ্যমান, যা মূল মডিউলটি চালিত হলে লোড হয়। প্রতিটি মডিউলের একটি বিশেষ নাম রয়েছে যা প্রগ্রাম স্টেটমেন্টে নির্ধারিত হয়।
কাজের দলগুলি সিস্টেমের সমস্ত মডিউলগুলি না জেনে আলাদা আলাদা আলাদা মডিউল বিকাশ করতে পারে। মডিউলটি বজায় রাখতে বিকাশকারীদের নমনীয়তা সরবরাহ করতে প্রতিটি মডিউল অ্যাপ্লিকেশন একটি সংস্করণ সংখ্যার সাথে যুক্ত।
মডুলার প্রোগ্রামিং বৈশিষ্ট্য
পরিমিতি
কম্পিউটারটি চালানোর জন্য কোডটির বিস্ফোরিত সংস্করণের প্রয়োজন নেই। এটি মানুষের জ্ঞানীয় সীমাবদ্ধতা যা আপনাকে ছোট অংশগুলিতে কোড লিখতে বাধ্য করে।
একটি প্রোগ্রামে অন্যান্য ফাংশন থাকতে পারে এবং অন্যান্য ফাইলে থাকা ফাংশনগুলিও উল্লেখ করতে পারে। এই ফাংশন বা মডিউলগুলি স্টেটমেন্টগুলির সেট যা অপারেশন সম্পাদন করতে বা কোনও মান গণনা করতে ব্যবহৃত হয়।
বৃহত এবং জটিল প্রোগ্রামগুলিতে সরলতা এবং পাঠযোগ্যতা বজায় রাখার জন্য, একটি দীর্ঘ প্রধান ফাংশন দীর্ঘ মূল ফাংশনের পরিবর্তে অন্যান্য ফাংশনের সাথে একযোগে ব্যবহৃত হয়।
একটি প্রোগ্রামকে মডিউলগুলির গ্রুপে বিভক্ত করার মাধ্যমে, প্রতিটি মডিউল বোঝা সহজ হবে, এইভাবে কাঠামোগত প্রোগ্রামিংয়ের প্রাথমিক নির্দেশিকাগুলি মেনে চলে।
ফাংশন সংজ্ঞা
একটি ফাংশন এর সংজ্ঞা এবং বিবৃতি অনুসরণ করে তার সংজ্ঞা ঘোষণা করে। একটি ফাংশনের সাধারণ ফর্মটি হ'ল:
ফাংশন_নাম (প্যারামিটার ঘোষণা) {
বাক্য;
আদেশ;
প্রত্যাবর্তন প্রকাশ;
}
- পরামিতিগুলির ঘোষণাপত্রে ফাংশনে যে তথ্য প্রেরণ করা হচ্ছে তা উপস্থাপন করে।
- বিশেষভাবে ফাংশন দ্বারা ব্যবহৃত অতিরিক্ত ভেরিয়েবলগুলি বাক্যে সংজ্ঞায়িত হয়।
- সমস্ত ফাংশন একটি রিটার্ন বিবৃতি অন্তর্ভুক্ত করতে হবে।
ভেরিয়েবলের ব্যাপ্তি
মূল ফাংশনের মধ্যে বা ব্যবহারকারী-সংজ্ঞায়িত ফাংশনগুলিতে ঘোষিত ভেরিয়েবলগুলিকে স্থানীয় ভেরিয়েবল বলা হয়। ফাংশন কার্যকর হলে এগুলির একটি মান থাকে তবে ফাংশনটি সম্পূর্ণ হওয়ার পরে তাদের মানটি ধরে রাখা হয় না।
মূল প্রোগ্রাম বা ব্যবহারকারী-সংজ্ঞায়িত ফাংশনগুলিতে বহিরাগত হিসাবে ঘোষিত ভেরিয়েবলগুলিকে বৈশ্বিক চলক বলা হয়। এই ভেরিয়েবলগুলি প্রোগ্রামের অভ্যন্তরে যে কোনও ফাংশন থেকে নেওয়া যেতে পারে।
এটি পদ্ধতিগত
মডিউলার প্রোগ্রামিং বেশ প্রক্রিয়াজাতীয়, যেহেতু এটি ডেটা বিবেচনায় না নিয়ে ফাংশনগুলির জন্য কোড লিখনের প্রতি সম্পূর্ণরূপে ওরিয়েন্টেড।
মডুলার প্রোগ্রামিং উদাহরণ
বাস্তব জীবনে পরিমিতি
মনে করুন যে কোনও বাড়িতে বিদ্যুৎ রয়েছে, তার দেয়ালে বেশ কয়েকটি আউটলেট রয়েছে। এই সিস্টেমটি আপনাকে বিভিন্ন বৈদ্যুতিক ডিভাইসগুলিতে প্লাগ করতে দেয়, উদাহরণস্বরূপ, মাইক্রোওয়েভ, ওয়াশিং মেশিন, ড্রায়ার ইত্যাদি in
এই ডিভাইসগুলি যেখানে অবস্থিত তা নির্বিশেষে প্লাগ ইন করা এবং চালু করার সময় তাদের নির্দিষ্ট কাজটি সম্পাদন করার জন্য ডিজাইন করা হয়েছে।
একটি অ্যাপ্লিকেশন মডিউল অবশ্যই এই একই দর্শন অনুসরণ করা উচিত। এর অর্থ হ'ল তারা কেবল তাদের নির্দিষ্ট কাজটি সম্পাদন করতে হবে তা বিবেচনা না করেই তারা যে অ্যাপ্লিকেশনটির কোন অংশে রয়েছে বা এমনকি যে অ্যাপ্লিকেশনটিতে তারা সংযুক্ত রয়েছে।
এছাড়াও, যেমন বৈদ্যুতিক ডিভাইসটি সহজেই আউটলেট থেকে আনপ্লাগ করা যায়, তেমনি একটি মডিউল এমনভাবে নকশা করা উচিত যাতে এটি সহজেই কোনও অ্যাপ্লিকেশন থেকে সরানো যায়।
বৈদ্যুতিন ডিভাইস অপসারণ যেমন অন্যান্য সংযুক্ত ডিভাইসের কার্যকারিতাকে প্রভাবিত করে না তেমনি একটি অ্যাপ্লিকেশন থেকে মডিউলগুলি সরিয়ে ফেললে সেই অ্যাপ্লিকেশনটির অন্যান্য মডিউলগুলির কার্যকারিতা প্রভাবিত হয় না।
জাভা ফাংশন
জাভা মডিউলগুলিতে স্বতন্ত্র ফাংশন হিসাবে লেখা হয়। উদাহরণস্বরূপ, আপনার নেওয়া সমস্ত কোর্সে শিক্ষার্থীর জিপিএর গ্রেডের ভিত্তিতে গণনা করার জন্য আপনার কাছে একটি ফাংশন বা কোড ব্লক থাকতে পারে।
ফাংশনটির জন্য ইনপুট হিসাবে গ্রেডগুলির তালিকা অর্জন করতে হবে এবং তারপরে গণনা করা গ্রেডের গড় ফেরত দেওয়া দরকার:
এই ফাংশনটিকে ক্যালকুলেটএভারেজনোট বলা হয়। এটি ইনপুট হিসাবে নোটগুলির একটি তালিকা ডাবল প্রকারের ডাবল অ্যারে ব্যবহার করে প্রাপ্ত হয় এবং গণনা করা গড়কে দেয়।
ফাংশনে, স্থানীয় ভেরিয়েবল সমষ্টিটি শূন্যে আরম্ভ করা হয় এবং তারপরে একটি লুপ ব্যবহার করে সমস্ত যোগ্যতার যোগফল যোগ করা হয়। পরিশেষে, প্রাপ্ত যোগফলটি নোটের সংখ্যা দ্বারা বিভক্ত হয়, ফলস্বরূপ মানটি ফেরত দেয়।
যদি ইনপুট ম্যাট্রিক্সে নোটগুলি যোগ করার পরে 3.5, 3.0 এবং 4.0 থাকে, তবে এর মান 10.5 হবে এবং তারপরে এটি 3 দ্বারা বিভক্ত হবে, কারণ তিনটি নোট রয়েছে। ফাংশনটি 3.5 মান প্রদান করবে।
সুবিধা
স্বতন্ত্র প্রকল্প প্রোগ্রামিং
একাধিক প্রোগ্রামার একই প্রকল্পে এটি মডিউলগুলিতে বিভক্ত হলে কাজ করতে পারে। বিভিন্ন প্রোগ্রামার স্বতন্ত্রভাবে বিভিন্ন প্রোগ্রাম মডিউলগুলি ডিজাইন করতে পারে যা একটি বৃহত এবং জটিল প্রোগ্রামের জন্য প্রয়োজনীয়।
দক্ষ প্রোগ্রাম বিকাশ
প্রোগ্রামগুলি আরও দ্রুত বিকাশিত হতে পারে, কারণ ছোট, একা একা মডিউলগুলি বড় প্রোগ্রামগুলির চেয়ে বোঝা, নকশা করা এবং পরীক্ষা করা আরও সহজ।
প্রোগ্রামার প্রয়োজনীয় ইনপুট সরবরাহ করতে পারে এবং মডিউলটি তার আউটপুট পরীক্ষা করে সঠিক কিনা তা যাচাই করতে পারে।
মডিউল একাধিক ব্যবহার
একটি প্রোগ্রামের জন্য লিখিত কোডগুলি অন্যদের মধ্যে প্রায়শই কার্যকর। মডুলার প্রোগ্রামিং এই বিভাগগুলিকে ভবিষ্যতের ব্যবহারের জন্য সংরক্ষণ করার অনুমতি দেয়। কোডটি পুনঃস্থাপনযোগ্য হওয়ার কারণে, সংরক্ষিত মডিউলগুলি অন্য কোনও প্রোগ্রামের সাথে লিঙ্কযুক্ত হতে পারে যা ইনপুট এবং আউটপুট প্রয়োজনীয়তা পূরণ করে।
একচেটিয়া প্রোগ্রামিংয়ের সাথে কোডের এই জাতীয় বিভাগগুলি প্রোগ্রামের মধ্যে এম্বেড থাকে এবং অন্যান্য প্রোগ্রামগুলি ব্যবহারের জন্য উপলব্ধ হয় না।
ডিবাগিং এবং পরিবর্তন সহজ
একটি মডিউল একটি পূর্ণ প্রোগ্রামের চেয়ে ছোট, তাই এটি পরীক্ষা করা সহজ। প্রতিটি মডিউল বাকি প্রোগ্রাম থেকে পৃথকভাবে লেখা ও পরীক্ষা করা যায়। মডিউলটি পরীক্ষা করার পরে এটি আবার পরীক্ষা না করে নতুন প্রোগ্রামে ব্যবহার করা যেতে পারে।
যখন একটি প্রোগ্রাম অবশ্যই পরিবর্তন করতে হবে, মডিউলার প্রোগ্রামিং কাজটি সহজ করে তোলে। নতুন বা ডিবাগ করা মডিউলগুলি বাকি প্রোগ্রামটি পরিবর্তন না করে কোনও বিদ্যমান প্রোগ্রামের সাথে লিঙ্ক করা যেতে পারে।
অসুবিধেও
অত্যধিক অবজেক্ট-ভিত্তিক কাঠামো
এই প্রোগ্রামিংটি ইন্টারফেস ব্যবহার করে, যা বেশ কার্যকর ধারণা। এর সুবিধা নিতে, কিছু ফ্রেমওয়ার্কগুলি বিনিময়যোগ্য ক্লাসের পুরো সেট নিয়ে আসে। উদাহরণস্বরূপ, অধ্যবসায় পরিচালনা করতে, একাধিক ক্লাস থাকতে পারে যা একটি অধ্যবসায় ইন্টারফেস প্রয়োগ করে।
তবে সমন্বিত উন্নয়ন পরিবেশ (আইডিই) এ সম্পর্কে বিভ্রান্ত হয়। উদাহরণস্বরূপ, আপনি কোনও পদ্ধতির উত্স সন্ধানের চেষ্টা করতে পারেন, এবং আইডিই আপনাকে কোন পদ্ধতিটি দেখতে চাইবে তা জানবে না, এইভাবে সেই নামের একটি পদ্ধতি রয়েছে এমন ফাইলগুলির দীর্ঘ তালিকা প্রদর্শন করবে।
মডিউলগুলি খুব ছোট
এখানে অনেকগুলি মডিউল রয়েছে যা কেবল খুব ছোট ফাংশন ধারণ করে। কোডের শিরোনাম ছাড়াও প্রতিটি মডিউলের অতিরিক্ত পার্সিং এবং প্রক্রিয়াকরণের সময় প্রয়োজন।
অতএব, অনেকগুলি ছোট মডিউল ব্যবহার করে প্যাকেজের আকার বৃদ্ধি করে সংকলন সিস্টেমে একটি ওভারহেড যুক্ত হবে।
বিনা কারণে পচে যাওয়া
কিছু কোড প্রায় কখনও পরিবর্তন হয় না। এই ক্ষেত্রে এটি এটিকে আরও পরিষ্কার দেখানোর চেষ্টা করতে বা বিমূর্ত যুক্তির সাহায্যে খুব বেশি অর্থবহ হতে পারে না, যদি কেবল এটি ব্যবহার করা ভাল কাজ করে।
এমন কোড রয়েছে যা দেখতে খুব সুন্দর দেখাচ্ছে না, তবে সাম্প্রতিক বছরগুলিতে সেগুলি খুব বেশি পরিবর্তন হয়নি। কোডটি পচানোর কোনও কারণ নেই যা কখনও বদলেনি এবং ইতিমধ্যে মডিউলগুলিতে ভালভাবে কাজ করছে।
অ্যাপ্লিকেশন
মডুলার প্রোগ্রামিং কেবল একটি ধারণা is এর অনুশীলনটি যে কোনও প্রোগ্রামিং ভাষায় প্রয়োগ করা যেতে পারে, বিশেষত প্রক্রিয়াজাত প্রকৃতির যাদের আলাদাভাবে সংকলিত প্রোগ্রাম রয়েছে।
আলাদাভাবে সংকলিত মডিউলগুলি থেকে তৈরি উপাদান লাইব্রেরিগুলিকে একটি লিঙ্কার নামক একটি প্রোগ্রামিং সরঞ্জাম ব্যবহার করে একটি সেটে একত্রিত করা যেতে পারে।
মূল মডিউল দ্বারা ব্যবহৃত ফাংশনগুলি রফতানি করা আবশ্যক ক্ষেত্রে তাদের অ্যাক্সেসের সুবিধার জন্য বিভিন্ন মডিউলগুলির ফাংশনগুলির নাম অবশ্যই অনন্য হতে হবে।
মডিউলার প্রোগ্রামিংয়ের ধারণাকে সমর্থনকারী প্রোগ্রামিং ভাষাগুলির মধ্যে হ'ল সি, আডা, পিএল / আই, এরলং, পাস্কাল, আলগল, সিওবিএল, আরপিজি, হাস্কেল, পাইথন, হাইপারটালক, আইবিএম / 360 এসেমব্লার, ম্যাটল্যাব, রুবি, আইবিএম আরপিজি, স্মলটাক, মরফো, জাভা (প্যাকেজগুলিকে মডিউল হিসাবে বিবেচনা করা হয়), পার্ল ইত্যাদি
সি ভাষা
মডিউলার প্রোগ্রামিং সি ভাষায় প্রয়োগ করা যেতে পারে কারণ এটি বেশ কয়েকটি মডিউলকে আলাদা করে একটি দুর্দান্ত অসুবিধা সমাধান করা সম্ভব করে।
এই মডিউলগুলির প্রত্যেকটি একটি নির্দিষ্ট সমস্যা সমাধান করে, যখন মূল প্রোগ্রামটি, যা এই জাতীয় প্রক্রিয়াগুলির সেট, সামগ্রিকভাবে সমস্যার সমাধান করে।
সি-তে সংজ্ঞায়িত প্রতিটি ফাংশন বিশ্বব্যাপী ডিফল্টরূপে অ্যাক্সেসযোগ্য। এটি একটি শিরোনাম ফাইল অন্তর্ভুক্ত করে করা যেতে পারে, যেখানে ফাংশনটির বাস্তবায়ন সংজ্ঞায়িত করা হয়।
উদাহরণস্বরূপ, আমরা স্ট্যাকের ডেটা প্রকারটি ঘোষণা করতে চাই এবং এটিও যে বাস্তবায়ন এবং ডেটা স্ট্রাকচারটি ব্যবহারকারীদের থেকে গোপন রয়েছে।
এটি প্রথমে স্ট্যাক এইচ নামে একটি পাবলিক ফাইল সংজ্ঞায়িত করে করা যেতে পারে, যাতে স্ট্যাক ডেটা টাইপ এবং স্ট্যাক ডেটা টাইপ দ্বারা সমর্থিত ফাংশন সহ জেনেরিক ডেটা থাকবে।
stack.h:
বাহ্যিক স্ট্যাক_ভার 1;
এক্সটার্নেন্ট ইন স্ট্যাক_ডো_সোমথিং (অকার্যকর);
এখন আপনি stack.c নামক একটি ফাইল তৈরি করতে পারেন যাতে স্ট্যাক ডেটা টাইপের প্রয়োগ রয়েছে:
তথ্যসূত্র
- সিআইও উইকি (2019)। মডুলার প্রোগ্রামিং। থেকে নেওয়া: cio-wiki.org।
- আইটি সংজ্ঞা (2020)। মডুলার প্রোগ্রামিং। থেকে নেওয়া: defit.org।
- নিউ মেক্সিকো টেক (2020)। ফাংশন সহ মডুলার প্রোগ্রামিং। থেকে নেওয়া: ee.nmt.edu।
- খ্রিস্টান মাইওলি (2020)। মডুলার কোড লেখার জন্য 3 সৃজনশীল কৌশল টেক বেকন থেকে নেওয়া: techbeacon.com।
- গিক্সের জন্য গিগস (2020)। প্রোগ্রামিংয়ে মডুলার অ্যাপ্রোচ। থেকে নেওয়া: geeksforgeeks.org।
- অধ্যয়ন (2020)। মডুলার প্রোগ্রামিং: জাভাতে সংজ্ঞা এবং অ্যাপ্লিকেশন। থেকে নেওয়া: অধ্যয়ন.কম।