TL; DR - পরিষেবাগুলির মধ্যে কোনও POJO লাইব্রেরি ভাগ করা ঠিক আছে কি?
সাধারণত আমরা যদি সম্ভব হয় তবে পরিষেবাগুলির মধ্যে ভাগ করে নেওয়া কঠোরভাবে কারও মধ্যে সীমাবদ্ধ রাখতে চাই। ডেটা ভাগ করে নেওয়ার পরিষেবাটি ক্লায়েন্টদের ব্যবহারের জন্য ক্লায়েন্ট-লাইব্রেরি সরবরাহ করা উচিত কিনা তা নিয়ে কিছু বিতর্ক হয়েছে। ক্লায়েন্ট-লিবিব পরিষেবাটির কোনও ক্লায়েন্টের ব্যবহারের জন্য সাধারণত optionচ্ছিক এবং তারা API টি ব্যবহার করতে পারে তবে তারা ক্লায়েন্ট-লিব ব্যবহার করতে পারেন, বা বিকল্প ভাষা ব্যবহার করতে পারেন এবং লাইব্রেরির সাধারণ দিকগুলি ব্যবহার করতে পারেন এবং এ জাতীয় ব্যবহার করতে পারেন।
আমার ক্ষেত্রে - আমি এমন একটি পরিষেবা বিবেচনা করছি যা ডেটার একটি অবজেক্ট তৈরি করে। ধরা যাক এই বস্তুটি একটি পিইটি। এটি ডাটাবেস সত্তা নয়, তবে কঠোরভাবে কোনও পজো যা অন্তর্নিহিত ডেটার স্পষ্টভাবে উপস্থাপন করে। এই POJO এপিআই সংজ্ঞায়িত করেছে। ধরে নিন: পোষা - বয়স, ওজন, নাম, মালিক, ঠিকানা, প্রজাতি ইত্যাদি
পরিষেবাদি 1 - পেটকিপার: এটি যে কোনও কারণে একটি পোষা প্রাণী তৈরি করবে এবং সমস্ত ডেটা ধরে রাখবে এবং পোষা প্রাণীটি পেতে এই পরিষেবাটি উল্লেখ করতে হবে, বা পোষা প্রাণীকে পরিবর্তন করতে হবে, নাম পরিবর্তন করতে পারেন, বা ঠিকানা পরিবর্তন অবশ্যই একটি পোষকের মাধ্যমে করা উচিত এই পরিষেবাতে API কল।
পরিষেবা 2 - পেটএ্যাকসেসর: এই পরিষেবাগুলি পোষা প্রাণীর সংগ্রহ করে এবং বৈধতা যাচাই করে
পরিষেবা 3,4 - আরও মধ্যবর্তী পরিষেবা কল
পরিষেবা 5 - ব্যবহারকারীর ইন্টারফেস
এগুলি খুব স্বেচ্ছাচারী তবে বিষয়টি সহজ। ইউআই বা কিছু ব্যবহারকারী-মুখোমুখি পরিষেবা কোনওভাবে এই "পিইটি" অবজেক্টটি উপস্থাপন করতে চায়। এটি অবশ্যই কোনও এপিআইয়ের মাধ্যমে একটি পরিষেবা কল করতে হবে, যা একটি পরিষেবা কল করে, যে কোনও পরিষেবা কল করে, ইত্যাদি সে পরিষেবা না পৌঁছানো পর্যন্ত যা প্রয়োজনীয় তথ্য সংগ্রহ করে এবং পুনরায় রিলে শুরু না করে। অবশেষে ইউআই পরিষেবাতে পিইটি অবজেক্ট প্রদর্শিত হবে has
এটি বেশ সাধারণ - তবে আমাদের নিখুঁত মানসিকতার সাথে আমরা প্রতিটি পরিষেবায় পিইটি অবজেক্টটি নকল করেছি। DRY (নিজেকে পুনরাবৃত্তি করবেন না) নীতিটি কেবলমাত্র একটি পরিষেবা অন্তর্ভুক্ত কোডের ক্ষেত্রে প্রযোজ্য এবং পরিষেবাগুলিতে প্রয়োগ হয় না তবে পয়েন্টটি এখনও আছে। আমরা যদি কোনও ক্ষেত্র যোগ করি তবে কী হবে ... আমাদের অবশ্যই প্রতিটিতে POJO এর 5 টি পরিষেবা পরিবর্তন করতে হবে।
--OR-- আমরা একটি পোষা প্রাণী-অবজেক্টস-লাইব্রেরি সরবরাহ করতে পারি যা এপিআই থেকে পোজোর কিছু থাকে এবং প্রতিটি পরিষেবা লাইব্রেরিতে আমদানি / নির্ভরতা আমদানি করতে পারে। সেগুলি (গুলি) এ তাদের উপর কোনও নির্ভরতা নেই, তবে কেবলমাত্র সাধারণ গ্রন্থাগার। আমি এই ধারণাটি পছন্দ করি যাতে প্রতিটি পরিষেবায় একই ধরণের অবজেক্ট থাকে এবং আপডেটগুলি আরও সহজ হয়। তবে আমি Godশ্বর-বিষয় সম্পর্কে উদ্বিগ্ন।
প্রো এর / কন এর কি - সেরা নকশা কি? একইভাবে পোজো ক্লাস পুনরাবৃত্তি করতে গিয়ে ডি-কাপল থাকা অবস্থায় পরিষেবাগুলির মধ্যে ডেটা পাস করার জন্য আপনি কী করেছেন?