আমি মাঝে মাঝে কারখানার এবং এমভিসি ছাড়াও ডিজাইনের নিদর্শনগুলি প্রায়শই ব্যবহার করি না এবং আমি সেগুলি আরও ব্যবহার শুরু করতে চাই।
আমার হাতে একটি কংক্রিট কেস রয়েছে যা আমি এই ক্ষেত্রে ডিজাইনের ধরণগুলির ব্যবহার সম্পর্কে আপনার মতামতটি চাই।
আমার অ্যাপ্লিকেশনটিতে আমাকে প্রায়শই বিভিন্ন পরিস্থিতিতে বিভিন্ন সময়ে রূপান্তর করতে হয়। আমাকে একটি হাইবারনেট পোজোকে একটি ডিটিওতে রূপান্তর করতে হতে পারে, কারণ আমি জিডব্লিউটি এবং হাইবারনেট পোজো ব্যবহার করি সিরিয়ালযোগ্য নয় এবং লাইনের মাধ্যমে প্রেরণ করা যায় না।
অন্য পরিস্থিতিতে আমার সলারের দ্বারা সূচীকরণের জন্য জাভা অবজেক্টগুলিকে সোলারইনপুট ডকুমেন্টে রূপান্তর করতে পারে।
আমি এটির জন্য আমার কোনও ডিজাইনের ধরণ ব্যবহার করা উচিত কিনা তা জানতে চাই। দেখে মনে হচ্ছে যে "অবজেক্ট রূপান্তর" একটি জেনেরিক কাজ যা একটি প্যাটার্ন দ্বারা নমনীয় / বিমূর্ত পদ্ধতিতে পরিচালনা করা যেতে পারে, তবে আমি কীভাবে সত্য তা দেখতে পাচ্ছি না।
নিদর্শন ছাড়াই আমি কেবলমাত্র প্রতিটি ধরণের রূপান্তরকরণের জন্য একটি পৃথক শ্রেণি তৈরি করব, উদাহরণস্বরূপ কোর্সটোসোলারআইপুট ডকুমেন্ট (কোর্সটি আমার আবেদনের একটি হাইবারনেট সত্তা)। অথবা কোর্সটোসকোর্সডিটিও। এই রূপান্তর শ্রেণীর প্রত্যেকটির কাছে একটি একক স্থিতিশীল পদ্ধতি থাকতে পারে convert()
যা উত্স অবজেক্টটিকে ইনপুট হিসাবে গ্রহণ করে এবং আউটপুট অবজেক্টকে ফেরত দেয়।
কিন্তু এটি আসলে কোনও প্যাটার্ন নয়, তাই না? সুতরাং আমি জেনেরিক দিয়ে কিছু শুরু করেছি এবং এই বর্গ তৈরি করেছি যা রূপান্তরকারী ইন্টারফেস প্রয়োগ করে। তবে কী একরকম অনুভূত হয় যে জেনেরিক ইন্টারফেস তৈরি করে এবং আমি জেনেরিক ব্যবহারের জন্য নিজেকে অভিনন্দন জানাতে সক্ষম হওয়া ছাড়া আর কোনও সুবিধা দেখতে পাচ্ছি না।
public class CourseToSolrInputDocument implements Converter<Course, SolrInputDocument> {
@Override
public void convert(Course source, SolrInputDocument destination) {
//To change body of implemented methods use File | Settings | File Templates.
}
}
সুতরাং, এখানে আসল প্রশ্নটি হ'ল: এমন কোনও প্যাটার্ন রয়েছে যা জেনেরিক অবজেক্ট রূপান্তরকে প্রযোজ্য এবং, আপনার দৃষ্টিভঙ্গিটি কী হবে এবং কেবলমাত্র ক্লাস-প্রতি-রূপান্তর ধরণের পদ্ধতির ব্যবহারের সুবিধাগুলি কী?