Tuples একাধিক ডেটা টাইপ একত্রে সংরক্ষণ করার জন্য একটি কার্যকর সমাধান। Tuples ব্যবহার করে ডেটাবেস কোয়েরি, API রেসপন্স এবং অন্যান্য ক্ষেত্রে কোডকে পরিষ্কার ও রিডেবল করা সম্ভব।
Practical Use Cases for Tuples
১. ডেটাবেস কোয়েরি (Database Queries)
ডাটাবেস থেকে একাধিক কলাম পড়ার সময় Tuples ব্যবহার করা যায়, যা ডেটা গ্রুপিং এবং ম্যানিপুলেশনে কার্যকর।
Example: Fetching Employee Data
import io.vavr.Tuple;
import io.vavr.Tuple3;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class DatabaseQueryExample {
public static void main(String[] args) {
String jdbcURL = "jdbc:mysql://localhost:3306/your_database";
String username = "your_username";
String password = "your_password";
try (Connection connection = DriverManager.getConnection(jdbcURL, username, password)) {
String query = "SELECT id, name, age FROM employees WHERE id = ?";
PreparedStatement statement = connection.prepareStatement(query);
statement.setInt(1, 1); // Employee ID
ResultSet resultSet = statement.executeQuery();
if (resultSet.next()) {
Tuple3<Integer, String, Integer> employee = Tuple.of(
resultSet.getInt("id"),
resultSet.getString("name"),
resultSet.getInt("age")
);
System.out.println("ID: " + employee._1);
System.out.println("Name: " + employee._2);
System.out.println("Age: " + employee._3);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
২. API Responses
API রেসপন্সে ডেটার ভিন্ন ভিন্ন ফিল্ড বা অংশ একত্রে সংরক্ষণ করতে Tuples ব্যবহার করা যায়।
Example: REST API Response
import io.vavr.Tuple;
import io.vavr.Tuple2;
public class ApiResponseExample {
public static void main(String[] args) {
// Simulated API Response
Tuple2<Integer, String> apiResponse = Tuple.of(200, "{ \"message\": \"Success\" }");
int statusCode = apiResponse._1;
String responseBody = apiResponse._2;
System.out.println("Status Code: " + statusCode);
System.out.println("Response Body: " + responseBody);
}
}
৩. মাল্টিপল রিটার্ন ভ্যালু
একটি মেথড একাধিক মান রিটার্ন করতে পারে, যা Tuples ব্যবহার করে সহজে ম্যানেজ করা যায়।
Example: Calculate Sum and Product
import io.vavr.Tuple;
import io.vavr.Tuple2;
public class MultipleReturnExample {
public static Tuple2<Integer, Integer> calculate(int a, int b) {
return Tuple.of(a + b, a * b);
}
public static void main(String[] args) {
Tuple2<Integer, Integer> result = calculate(5, 10);
System.out.println("Sum: " + result._1);
System.out.println("Product: " + result._2);
}
}
৪. কনফিগারেশন সেটিংস (Configuration Settings)
Tuples ব্যবহার করে কনফিগারেশন সেটিংস সংরক্ষণ করা যায়।
Example: Database Configuration
import io.vavr.Tuple;
import io.vavr.Tuple3;
public class ConfigExample {
public static void main(String[] args) {
Tuple3<String, String, String> dbConfig = Tuple.of(
"jdbc:mysql://localhost:3306/your_database",
"username",
"password"
);
System.out.println("URL: " + dbConfig._1);
System.out.println("Username: " + dbConfig._2);
System.out.println("Password: " + dbConfig._3);
}
}
৫. ডেটা প্রসেসিং
Tuples ব্যবহার করে বিভিন্ন ডেটা প্রসেসিং টাস্ক (যেমন: ম্যাপিং, ফিল্টারিং) সহজ করা যায়।
Example: Mapping Data
import io.vavr.Tuple;
import io.vavr.Tuple2;
public class DataProcessingExample {
public static void main(String[] args) {
Tuple2<String, Integer> user = Tuple.of("Alice", 25);
// Mapping data
Tuple2<String, Integer> updatedUser = user.map(
name -> name.toUpperCase(),
age -> age + 5
);
System.out.println("Updated Name: " + updatedUser._1);
System.out.println("Updated Age: " + updatedUser._2);
}
}
৬. কাস্টম লজিক পারফরম্যান্স (Custom Logic Execution)
Tuples ব্যবহার করে কাস্টম লজিকের আউটপুট ধরে রাখা এবং প্রক্রিয়া করা যায়।
Example: Conditional Output
import io.vavr.Tuple;
import io.vavr.Tuple3;
public class LogicExample {
public static Tuple3<String, Boolean, Double> processLogic(String input) {
boolean isValid = input.length() > 5;
double score = isValid ? 90.5 : 50.0;
return Tuple.of(input, isValid, score);
}
public static void main(String[] args) {
Tuple3<String, Boolean, Double> result = processLogic("HelloWorld");
System.out.println("Input: " + result._1);
System.out.println("Is Valid: " + result._2);
System.out.println("Score: " + result._3);
}
}
Tuples ব্যবহার করে Cleaner এবং Readable Code
- মাল্টিপল রিটার্ন ভ্যালু: একাধিক মান রিটার্ন করার সময় কোড ছোট এবং কার্যকর হয়।
- ডেটা গ্রুপিং: বিভিন্ন টাইপের ডেটা গ্রুপ করে সহজে ব্যবস্থাপনা করা যায়।
- রিডেবল স্ট্রাকচার: কমপ্যাক্ট Tuples কোড রিডেবিলিটি বৃদ্ধি করে।
- স্ট্রাকচারড ডেটা হ্যান্ডলিং: API রেসপন্স এবং ডেটাবেস কোয়েরি হ্যান্ডলিং সহজ করে।
- Database Queries: Tuples ব্যবহার করে ডেটাবেস থেকে একাধিক কলাম একত্রে পড়া সহজ।
- API Responses: API রেসপন্সের ডেটা পরিষ্কারভাবে ম্যানেজ করা যায়।
- Multi-Value Return: Tuples কোডকে কমপ্যাক্ট এবং রিডেবল করে।
- Data Processing: ম্যাপিং এবং ফিল্টারিং টাস্ক সহজ করা যায়।
Tuples এর ব্যবহার আপনার প্রজেক্টে কোডের কার্যকারিতা এবং সরলতা নিশ্চিত করে।
Read more