Practical Use Cases: Database Queries, API Responses ইত্যাদি

Tuple এর মাধ্যমে Multiple Return Values হ্যান্ডল করা - জাভা টাপল (Java Tuples) - Java Technologies

323

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

  1. মাল্টিপল রিটার্ন ভ্যালু: একাধিক মান রিটার্ন করার সময় কোড ছোট এবং কার্যকর হয়।
  2. ডেটা গ্রুপিং: বিভিন্ন টাইপের ডেটা গ্রুপ করে সহজে ব্যবস্থাপনা করা যায়।
  3. রিডেবল স্ট্রাকচার: কমপ্যাক্ট Tuples কোড রিডেবিলিটি বৃদ্ধি করে।
  4. স্ট্রাকচারড ডেটা হ্যান্ডলিং: API রেসপন্স এবং ডেটাবেস কোয়েরি হ্যান্ডলিং সহজ করে।

  • Database Queries: Tuples ব্যবহার করে ডেটাবেস থেকে একাধিক কলাম একত্রে পড়া সহজ।
  • API Responses: API রেসপন্সের ডেটা পরিষ্কারভাবে ম্যানেজ করা যায়।
  • Multi-Value Return: Tuples কোডকে কমপ্যাক্ট এবং রিডেবল করে।
  • Data Processing: ম্যাপিং এবং ফিল্টারিং টাস্ক সহজ করা যায়।

Tuples এর ব্যবহার আপনার প্রজেক্টে কোডের কার্যকারিতা এবং সরলতা নিশ্চিত করে।

Content added By
Promotion

Are you sure to start over?

Loading...