Java তে প্যাকেজ এবং মডিউল কোড সংগঠিত, মডুলার, এবং পুনরায় ব্যবহারযোগ্য করে। বড় প্রোজেক্টে কোড ব্যবস্থাপনা সহজ করার জন্য এগুলি বিশেষভাবে গুরুত্বপূর্ণ। প্যাকেজ মূলত ক্লাসগুলির একটি গ্রুপ, আর মডিউল হলো প্যাকেজগুলির একটি গ্রুপ যা নির্দিষ্টভাবে সাজানো থাকে।
প্যাকেজ (Package)
প্যাকেজ হলো Java-তে সম্পর্কযুক্ত ক্লাস এবং ইন্টারফেসের একটি গ্রুপ, যা কোডের সংগঠন এবং পুনঃব্যবহারযোগ্যতা বাড়ায়। প্যাকেজ ব্যবহারের মাধ্যমে ক্লাসগুলোকে শ্রেণীবদ্ধ করে নির্দিষ্ট একটি নাম দিয়ে গঠন করা হয়।
প্যাকেজের সুবিধা
- কোডের সংগঠন: সম্পর্কযুক্ত ক্লাসগুলো একই প্যাকেজে সংরক্ষণ করে, যা কোডের সংগঠন পরিষ্কার করে।
- নাম সংঘর্ষ এড়ানো: বিভিন্ন প্যাকেজে একই নামের ক্লাস রাখা যায়, যা নাম সংঘর্ষ থেকে মুক্ত রাখে।
- কোড পুনঃব্যবহারযোগ্যতা: প্যাকেজে সংরক্ষিত ক্লাসগুলো বিভিন্ন প্রজেক্টে সহজেই ব্যবহার করা যায়।
প্যাকেজ তৈরি করা
প্যাকেজ তৈরি করতে, কোডের শুরুতে package কীওয়ার্ড ব্যবহার করা হয়, এবং এর পরে প্যাকেজের নাম উল্লেখ করা হয়।
উদাহরণ:
package com.example.utilities;
public class Calculator {
public int add(int a, int b) {
return a + b;
}
}
এখানে com.example.utilities হলো প্যাকেজের নাম, এবং এতে Calculator ক্লাসটি অন্তর্ভুক্ত।
প্যাকেজ আমদানি করা
প্যাকেজে থাকা ক্লাস ব্যবহার করতে import কীওয়ার্ড ব্যবহার করে সেই প্যাকেজ আমদানি করতে হয়।
উদাহরণ:
import com.example.utilities.Calculator;
public class Main {
public static void main(String[] args) {
Calculator calc = new Calculator();
System.out.println("Sum: " + calc.add(5, 10));
}
}
প্রকারভেদ
- Built-in Packages: Java-র পূর্বনির্ধারিত প্যাকেজ, যেমন
java.util,java.io,java.lang। - User-defined Packages: ব্যবহারকারীর তৈরি প্যাকেজ, যেখানে প্রয়োজনমতো বিভিন্ন ক্লাস এবং ইন্টারফেস সংরক্ষণ করা হয়।
মডিউল (Module)
Java 9 থেকে মডিউল চালু করা হয়, যা প্যাকেজগুলিকে বড় বড় ইউনিটে বিভক্ত করে। মডিউল কোডের বড় বড় অংশকে সংগঠিত এবং পরিচালনা করে। এটি বিশেষভাবে বড় প্রজেক্টে প্যাকেজ এবং ক্লাসগুলোর মধ্যে ডিপেনডেন্সি (নির্ভরতা) নিয়ন্ত্রণ করতে সহায়ক।
মডিউল এর সুবিধা
- বৈধতা এবং নিরাপত্তা: মডিউল নির্দিষ্ট প্যাকেজগুলিকে অন্য মডিউলে প্রকাশ করে এবং বাকিগুলিকে গোপন রাখে।
- ডিপেনডেন্সি কন্ট্রোল: মডিউল নির্দিষ্ট মডিউলের উপর নির্ভরশীল হতে পারে এবং এভাবে নির্দিষ্ট মডিউলগুলিকে প্রজেক্টে ব্যবহৃত করা যায়।
- Modular JARs: Java 9-এর পর থেকে মডিউল JAR ফাইল হিসেবে পৃথকভাবে ডিপ্লয় করা যায়, যা বড় প্রজেক্টে মডিউলারিটি প্রদান করে।
মডিউল তৈরি করা
মডিউল তৈরি করতে একটি module-info.java ফাইল তৈরি করতে হয়, যেখানে মডিউলের ডিপেনডেন্সি এবং এক্সপোর্টেড প্যাকেজগুলো সংজ্ঞায়িত থাকে।
উদাহরণ:
module com.example.myModule {
exports com.example.utilities; // এই প্যাকেজটি অন্য মডিউলে অ্যাক্সেসযোগ্য হবে
requires java.sql; // মডিউলটি java.sql মডিউলের উপর নির্ভরশীল
}
- exports: কোন প্যাকেজগুলো অন্যান্য মডিউলে এক্সপোর্ট করা হবে তা নির্ধারণ করে।
- requires: কোন মডিউলগুলো উপর নির্ভরশীল তা নির্ধারণ করে।
মডিউল ব্যবহারের উদাহরণ
মডিউল ব্যবহারে একাধিক মডিউল তৈরি করা যেতে পারে এবং নির্দিষ্ট মডিউলগুলো নির্দিষ্ট ডিপেনডেন্সির উপর ভিত্তি করে গঠন করা যায়। যেমন com.example.myModule অন্য একটি মডিউল ব্যবহার করতে পারে এবং নির্দিষ্ট প্যাকেজ এক্সপোর্ট করতে পারে।
প্যাকেজ এবং মডিউলের মধ্যে পার্থক্য
| বৈশিষ্ট্য | প্যাকেজ (Package) | মডিউল (Module) |
|---|---|---|
| উদ্দেশ্য | ক্লাস এবং ইন্টারফেসের সংগঠন ও ব্যবস্থাপনা | প্যাকেজগুলিকে বড় ইউনিটে বিভক্ত করে |
| পরিচয়কারী ফাইল | package কীওয়ার্ড দিয়ে শুরু হয় | module-info.java ফাইল ব্যবহার করা হয় |
| ডিপেনডেন্সি | নেই, ক্লাসের মধ্যে ডিপেনডেন্সি থাকে না | মডিউল ডিপেনডেন্সি ব্যবস্থাপনা করে |
| সংস্করণ | Java এর শুরু থেকে বিদ্যমান | Java 9 থেকে চালু |
সারসংক্ষেপ
Java-তে প্যাকেজ এবং মডিউল কোডকে সংগঠিত ও মডুলার করতে সহায়ক। প্যাকেজ সম্পর্কযুক্ত ক্লাস এবং ইন্টারফেস গঠিত একটি ইউনিট, যা ছোট ও মাঝারি প্রজেক্টে কোডকে সুন্দরভাবে সংগঠিত করে। অন্যদিকে, মডিউল বড় বড় প্রজেক্টে প্যাকেজগুলিকে একত্রিত করে ডিপেনডেন্সি কন্ট্রোল, নিরাপত্তা এবং বৈধতা বাড়ায়, যা Java 9 থেকে চালু হয়েছে।
প্যাকেজ (Package) হলো Java প্রোগ্রামিং ভাষায় একটি ডিরেক্টরি বা ফোল্ডার, যা সম্পর্কিত ক্লাস এবং ইন্টারফেসগুলোকে একটি নির্দিষ্ট গ্রুপে সংগঠিত করে। এটি কোডের সংগঠন এবং পুনরায় ব্যবহারযোগ্যতা নিশ্চিত করে। প্যাকেজ ব্যবহারের মাধ্যমে বিভিন্ন ক্লাস এবং ইন্টারফেসের সংঘর্ষ বা নামের দ্বন্দ্ব এড়ানো যায়।
প্যাকেজ তৈরি ও ব্যবহার
Java তে প্যাকেজ তৈরি করতে package কীওয়ার্ড ব্যবহার করা হয়। প্যাকেজ সাধারণত প্রজেক্টের ডিরেক্টরি স্ট্রাকচার অনুযায়ী সংরক্ষণ করা হয়। উদাহরণস্বরূপ:
package com.example.project;
public class MyClass {
public void display() {
System.out.println("Hello from MyClass");
}
}
এই উদাহরণে MyClass ক্লাস com.example.project প্যাকেজের অংশ হিসেবে সংজ্ঞায়িত করা হয়েছে।
প্যাকেজ ইমপোর্ট করা
Java তে অন্য প্যাকেজের ক্লাস ব্যবহার করতে হলে import কীওয়ার্ড ব্যবহার করে সেই প্যাকেজ ইমপোর্ট করতে হয়। উদাহরণ:
import com.example.project.MyClass;
public class Main {
public static void main(String[] args) {
MyClass obj = new MyClass();
obj.display();
}
}
প্যাকেজের সুবিধা
কোড সংগঠিত রাখা: প্যাকেজ ব্যবহার করে কোডকে বিভিন্ন বিভাগে বিভক্ত করা যায়, যা কোডের গঠন বুঝতে এবং মেইনটেন করতে সহজ হয়।
নাম সংঘর্ষ এড়ানো: প্যাকেজ ব্যবহারের মাধ্যমে একই নামের ক্লাস বা ইন্টারফেস বিভিন্ন প্যাকেজে রাখা যায়। এতে নাম সংঘর্ষের সমস্যা এড়ানো যায়। উদাহরণস্বরূপ, com.bank.Account এবং com.school.Account ক্লাস দুটি আলাদা প্যাকেজে সংরক্ষিত হলে তাদের নাম একই হলেও কোনো সমস্যা হয় না।
কোড পুনরায় ব্যবহারযোগ্যতা বৃদ্ধি: একবার একটি প্যাকেজ তৈরি করে সেটি বারবার ব্যবহার করা যায়। এতে কোডের পুনরায় ব্যবহারযোগ্যতা বৃদ্ধি পায়।
এক্সেস কন্ট্রোল ও নিরাপত্তা বৃদ্ধি: Java তে প্যাকেজ বিভিন্নভাবে এক্সেস কন্ট্রোল প্রদান করে। প্রাইভেট ক্লাস এবং মেথডগুলোকে নির্দিষ্ট প্যাকেজের মধ্যে সীমাবদ্ধ রাখা যায় এবং অন্য প্যাকেজ থেকে এক্সেস নিয়ন্ত্রণ করা সম্ভব হয়।
মডুলার প্রোগ্রামিং: প্যাকেজের মাধ্যমে প্রোগ্রামকে ছোট ছোট মডিউলে ভাগ করে রাখা যায়, যা প্রোগ্রামিংয়ের সময় বড় প্রজেক্টকে সহজভাবে সংগঠিত রাখতে সহায়তা করে।
সহজে লাইব্রেরি তৈরি ও শেয়ার করা: প্যাকেজের মাধ্যমে কোডকে লাইব্রেরি আকারে প্রকাশ এবং শেয়ার করা সহজ হয়। Java এর java.util, java.io, java.lang ইত্যাদি প্যাকেজগুলো বিভিন্ন লাইব্রেরি ফাংশন সংরক্ষণ করে।
প্যাকেজের প্রকারভেদ
Java তে মূলত দুই ধরনের প্যাকেজ রয়েছে:
বিল্ট-ইন প্যাকেজ: Java তে পূর্বনির্ধারিত কিছু প্যাকেজ রয়েছে, যেমন java.lang, java.util, java.io, ইত্যাদি, যেগুলো Java এর বিভিন্ন লাইব্রেরি এবং ফাংশন ধারণ করে।
ইউজার-ডিফাইনড প্যাকেজ: প্রোগ্রামাররা নিজেদের প্রয়োজন অনুযায়ী প্যাকেজ তৈরি করতে পারেন। উদাহরণস্বরূপ, com.myapp, org.project ইত্যাদি।
উদাহরণ: প্যাকেজ তৈরি এবং ব্যবহার
- প্রথমে একটি
package_exampleনামের প্যাকেজ তৈরি করা হলো।
package package_example;
public class Greeting {
public void sayHello() {
System.out.println("Hello from package_example!");
}
}
- এই প্যাকেজ থেকে
Greetingক্লাস ইমপোর্ট করে ব্যবহার করা হলো।
import package_example.Greeting;
public class Main {
public static void main(String[] args) {
Greeting greet = new Greeting();
greet.sayHello(); // আউটপুট: Hello from package_example!
}
}
ব্যাখ্যা:
package_exampleনামের একটি প্যাকেজ তৈরি করা হয়েছে এবংGreetingক্লাস সংজ্ঞায়িত করা হয়েছে।Mainক্লাসেGreetingক্লাস ইমপোর্ট করে এর মেথডsayHello()কল করা হয়েছে।
সারসংক্ষেপ
- প্যাকেজ হলো কোড সংগঠনের একটি উপায়, যা সম্পর্কিত ক্লাস এবং ইন্টারফেসগুলোকে একত্রে রাখে।
- এটি কোডের পুনরায় ব্যবহারযোগ্যতা, নাম সংঘর্ষ প্রতিরোধ, নিরাপত্তা এবং এক্সেস নিয়ন্ত্রণে সহায়তা করে।
- প্যাকেজ ব্যবহার করে প্রোগ্রামিংয়ের বড় বড় প্রজেক্টকে সহজে সংগঠিত ও মেইনটেন করা যায়।
প্যাকেজ ব্যবহার করে প্রোগ্রামিংয়ের বড় বড় প্রজেক্ট সহজে সংগঠিত এবং পুনরায় ব্যবহারযোগ্য করা সম্ভব, যা প্রোগ্রামের স্থায়িত্ব ও মেইনটেনেন্সে সহায়তা করে।
Java-তে কাস্টম প্যাকেজ তৈরি করা খুবই সহজ, এবং এটি সম্পর্কিত ক্লাসগুলোকে গঠিতভাবে সংগঠিত করতে সাহায্য করে। কাস্টম প্যাকেজ তৈরি করে আপনার ক্লাসগুলোকে একটি নির্দিষ্ট গোষ্ঠীতে রাখা যায়, যা প্রজেক্ট ব্যবস্থাপনায় সহায়ক।
কাস্টম প্যাকেজ তৈরির ধাপসমূহ
ধাপ ১: প্যাকেজের নামকরণ এবং ক্লাসে package কীওয়ার্ড ব্যবহার
প্রথমে, একটি নতুন ডিরেক্টরি বা ফোল্ডার তৈরি করুন, যা প্যাকেজের নাম অনুসারে হতে পারে। উদাহরণস্বরূপ, com.example.utilities নামে একটি প্যাকেজ তৈরি করতে চাইলে ফোল্ডার তৈরি করা উচিত com/example/utilities।
আপনার প্যাকেজের প্রতিটি ক্লাসে কোডের প্রথম লাইনে package কীওয়ার্ড দিয়ে প্যাকেজের নাম উল্লেখ করুন।
কোড উদাহরণ:
package com.example.utilities;
public class Calculator {
public int add(int a, int b) {
return a + b;
}
}
এখানে Calculator ক্লাসটি com.example.utilities প্যাকেজে অন্তর্ভুক্ত করা হয়েছে।
ধাপ ২: প্রজেক্টে প্যাকেজযুক্ত ফাইলের অবস্থান ঠিক করা
একটি প্যাকেজ একটি নির্দিষ্ট ডিরেক্টরিতে সংরক্ষণ করা হয়। নিচে একটি উদাহরণ দেওয়া হলো যেখানে প্যাকেজের ফোল্ডার স্ট্রাকচার রয়েছে।
ফোল্ডার স্ট্রাকচার:
src
└── com
└── example
└── utilities
└── Calculator.java
ধাপ ৩: প্যাকেজ import করা এবং ব্যবহার করা
প্যাকেজের ক্লাস ব্যবহার করতে হলে অন্য ক্লাসে import কীওয়ার্ড ব্যবহার করে সেই প্যাকেজটি আমদানি করতে হয়। এরপর প্যাকেজের ক্লাস ব্যবহার করা যায়।
Main.java উদাহরণ:
import com.example.utilities.Calculator;
public class Main {
public static void main(String[] args) {
Calculator calc = new Calculator();
System.out.println("Sum: " + calc.add(5, 10));
}
}
ধাপ ৪: প্যাকেজ কম্পাইল করা
কমান্ড লাইনে প্যাকেজটি কম্পাইল করতে হলে প্রথমে src ফোল্ডারে যান এবং কমান্ডটি চালান:
javac com/example/utilities/Calculator.java
javac Main.java
এতে Calculator এবং Main ক্লাস কম্পাইল হবে।
ধাপ ৫: প্যাকেজ রান করা
কম্পাইল করার পর Main ক্লাস রান করতে নিচের কমান্ডটি ব্যবহার করুন:
java Main
এতে আউটপুট পাওয়া যাবে:
Sum: 15
প্যাকেজের সুবিধা
- সংগঠন: প্যাকেজ একই ধরনের ক্লাসগুলোকে গঠিতভাবে একত্রে রাখে।
- নাম সংঘর্ষ এড়ানো: প্যাকেজ নাম সংঘর্ষ এড়াতে সাহায্য করে, কারণ একই নামের ক্লাস ভিন্ন প্যাকেজে রাখা যায়।
- পুনঃব্যবহারযোগ্যতা: একবার কাস্টম প্যাকেজ তৈরি করা হলে বিভিন্ন প্রজেক্টে সহজেই এটি ব্যবহার করা যায়।
সারসংক্ষেপ
Java-তে কাস্টম প্যাকেজ তৈরি করতে প্রথমে প্যাকেজের নাম দিয়ে ডিরেক্টরি তৈরি করতে হয়, প্রতিটি ক্লাসে package কীওয়ার্ড ব্যবহার করে প্যাকেজ নির্ধারণ করা হয়, এবং প্যাকেজ আমদানি করে ব্যবহার করা হয়। প্যাকেজ কোডের সংগঠন এবং পুনঃব্যবহারযোগ্যতা বাড়াতে সহায়ক।
মডিউলার প্রোগ্রামিং হলো প্রোগ্রামিংয়ের এমন একটি ধারণা, যেখানে পুরো প্রোগ্রামটিকে ছোট ছোট অংশে ভাগ করা হয় এবং প্রতিটি অংশ নির্দিষ্ট একটি কাজ সম্পন্ন করে। প্রতিটি অংশকে মডিউল (Module) বলা হয়। মডিউলার প্রোগ্রামিং প্রোগ্রামের গঠনকে আরও সুশৃঙ্খল, পুনরায় ব্যবহারযোগ্য, এবং সহজবোধ্য করে তোলে।
মডিউলার প্রোগ্রামিং কেন প্রয়োজন?
- সহজে মেইনটেনযোগ্য: মডিউল ব্যবহার করে কোডকে ছোট ছোট অংশে ভাগ করা হয়, যা কোডের মেইনটেনেন্স সহজ করে।
- কোডের পুনরায় ব্যবহারযোগ্যতা: একবার একটি মডিউল তৈরি করা হলে তা বিভিন্ন জায়গায় পুনরায় ব্যবহার করা যায়।
- সহজে ডিবাগিং: মডিউলভিত্তিক প্রোগ্রামে কোনো সমস্যা হলে নির্দিষ্ট মডিউলে সহজেই সমস্যা চিহ্নিত করে সমাধান করা যায়।
- সহজে বর্ধনযোগ্য: নতুন ফিচার যোগ করার প্রয়োজন হলে নির্দিষ্ট মডিউল পরিবর্তন বা নতুন মডিউল যোগ করে তা করা যায়।
- সহযোগিতা সহজ: বড় প্রজেক্টে কাজের সময় বিভিন্ন ডেভেলপার আলাদা আলাদা মডিউল নিয়ে কাজ করতে পারে, ফলে একই প্রজেক্টে একাধিক ডেভেলপার সহজে কাজ করতে পারে।
মডিউল কীভাবে কাজ করে?
একটি বড় প্রোগ্রাম বা প্রজেক্টকে একাধিক ছোট মডিউলে ভাগ করা হয় এবং প্রতিটি মডিউল নির্দিষ্ট একটি কাজ সম্পন্ন করে। উদাহরণস্বরূপ, একটি বড় অনলাইন শপিং সিস্টেমকে কয়েকটি মডিউলে ভাগ করা যেতে পারে:
- User Module: ব্যবহারকারীর রেজিস্ট্রেশন, লগইন, প্রোফাইল ম্যানেজমেন্ট ইত্যাদি।
- Product Module: প্রোডাক্ট ম্যানেজমেন্ট, প্রোডাক্টের বিবরণ, স্টক ম্যানেজমেন্ট ইত্যাদি।
- Order Module: অর্ডার প্রক্রিয়া, পেমেন্ট, অর্ডার ট্র্যাকিং ইত্যাদি।
- Cart Module: শপিং কার্ট, প্রোডাক্ট যোগ এবং সরানো, মূল্য গণনা ইত্যাদি।
উদাহরণ: মডিউলার প্রোগ্রামিং ধারণা
ধরুন, আমরা একটি গণনার প্রোগ্রাম তৈরি করতে চাই যেখানে যোগ, বিয়োগ, গুণ, এবং ভাগফল বের করা হবে। আমরা প্রতিটি অপারেশন আলাদা মডিউল বা মেথডে ভাগ করতে পারি।
public class Calculator {
// Addition মডিউল
public int add(int a, int b) {
return a + b;
}
// Subtraction মডিউল
public int subtract(int a, int b) {
return a - b;
}
// Multiplication মডিউল
public int multiply(int a, int b) {
return a * b;
}
// Division মডিউল
public double divide(int a, int b) {
if (b != 0) {
return (double) a / b;
} else {
System.out.println("Division by zero is not allowed.");
return 0;
}
}
public static void main(String[] args) {
Calculator calc = new Calculator();
System.out.println("Addition: " + calc.add(10, 5));
System.out.println("Subtraction: " + calc.subtract(10, 5));
System.out.println("Multiplication: " + calc.multiply(10, 5));
System.out.println("Division: " + calc.divide(10, 5));
}
}
ব্যাখ্যা:
- এখানে
Calculatorক্লাসে চারটি মেথড সংজ্ঞায়িত করা হয়েছে, যা আলাদা আলাদা মডিউল হিসেবে কাজ করছে। add,subtract,multiply, এবংdivideপ্রতিটি মেথড নির্দিষ্ট গাণিতিক কাজ সম্পন্ন করছে।- মূল প্রোগ্রাম
mainমেথডে এই মডিউলগুলো কল করে বিভিন্ন গণনা করা হচ্ছে।
মডিউলার প্রোগ্রামিং এর সুবিধা
- সহজবোধ্য কোড: মডিউলগুলো নির্দিষ্ট কাজ সম্পন্ন করে, ফলে কোড সহজে পড়া এবং বুঝা যায়।
- পুনরায় ব্যবহারযোগ্য: একবার তৈরি মডিউল অন্য প্রোগ্রামেও ব্যবহার করা যায়।
- কোডের রক্ষণাবেক্ষণ সহজ: মডিউলভিত্তিক কোডে কোনো পরিবর্তন করতে হলে নির্দিষ্ট মডিউলে করা সম্ভব।
- সহযোগিতামূলক কাজ সহজ: বিভিন্ন ডেভেলপার একসঙ্গে কাজ করতে পারার সুযোগ তৈরি হয়, কারণ প্রতিটি মডিউল আলাদাভাবে কাজ করতে পারে।
- ত্রুটি নির্ণয় সহজ: কোনো সমস্যা হলে নির্দিষ্ট মডিউলে সহজেই ত্রুটি খুঁজে বের করা যায়।
বাস্তব জীবনের উদাহরণ
বড় বড় সফটওয়্যার যেমন ERP সিস্টেম, ব্যাংকিং সফটওয়্যার, এবং ই-কমার্স সাইটগুলো মডিউলার প্রোগ্রামিং ব্যবহার করে তৈরি করা হয়। উদাহরণস্বরূপ, একটি ব্যাংকিং সিস্টেমে বিভিন্ন মডিউল হতে পারে:
- Account Management: অ্যাকাউন্ট খোলা, বন্ধ করা এবং ম্যানেজ করা।
- Transaction Management: লেনদেন রেকর্ড রাখা এবং যাচাই করা।
- Loan Management: ঋণ আবেদন, ঋণ প্রদান এবং পরিশোধ।
- Customer Support: গ্রাহক সহায়তা এবং সেবা।
সারসংক্ষেপ
- মডিউলার প্রোগ্রামিং হলো প্রোগ্রামকে ছোট ছোট মডিউলে ভাগ করে নির্দিষ্ট কাজ সম্পন্ন করা।
- এটি কোডের পুনরায় ব্যবহারযোগ্যতা, মডুলারিটি, এবং মেইনটেনেন্স সহজ করে।
- মডিউলার প্রোগ্রামিং বড় প্রজেক্টে ডেভেলপারদের মধ্যে কাজ ভাগ করে কাজের গতি বৃদ্ধি করে।
মডিউলার প্রোগ্রামিং এর মাধ্যমে প্রোগ্রামকে ছোট ছোট অংশে ভাগ করে বড় প্রোগ্রাম তৈরি করা সহজ হয়, যা প্রোগ্রামের স্থায়িত্ব ও মেইনটেনেন্সে সহায়ক।
Read more