আমি ডিডিডি দিয়ে শুরু করছি এবং বুঝতে পারি যে ট্রান্সন্যাশনাল ধারাবাহিকতা নিশ্চিত করতে সামগ্রিক শিকড়গুলি ব্যবহৃত হয়। আমাদের একটি অ্যাপ্লিকেশন পরিষেবাতে একাধিক সংস্থাগুলি পরিবর্তন করা উচিত নয়।
নিম্নলিখিত পরিস্থিতিটি কীভাবে মোকাবেলা করতে হবে তা জানতে চাই।
আমার কাছে পণ্য নামে একটি সামগ্রিক মূল রয়েছে।
গ্রুপ নামে একটি সামগ্রিক মূলও রয়েছে।
উভয়ের আইডির রয়েছে এবং এটি স্বাধীনভাবে সম্পাদনা করা যেতে পারে।
একাধিক পণ্য একই গ্রুপের দিকে নির্দেশ করতে পারে।
আমার কাছে একটি অ্যাপ্লিকেশন পরিষেবা রয়েছে যা একটি পণ্যের গ্রুপ পরিবর্তন করতে পারে:
ProductService.ChangeProductGroup(string productId, string groupId)
- চেক গ্রুপ বিদ্যমান
- সংগ্রহস্থল থেকে পণ্য পান
- এর গ্রুপ সেট করুন
- পণ্যটি পুনরায় সংগ্রহস্থলে লিখুন
আমার কাছে একটি অ্যাপ্লিকেশন পরিষেবা রয়েছে যেখানে গ্রুপটি মোছা যেতে পারে:
GroupService.DeleteGroup(string groupId)
1. সংগ্রহস্থল থেকে পণ্যগুলি পান যার গ্রুপআইড সরবরাহ করা গ্রুপআইডে সেট করা আছে, গণনা 0 বা গর্ভপাত বাতিল হওয়া নিশ্চিত করুন 2. গোষ্ঠী সংগ্রহস্থল থেকে গোষ্ঠী মুছুন 3. পরিবর্তনগুলি সংরক্ষণ করুন
আমার প্রশ্নটি নিম্নলিখিত পরিস্থিতিটি হ'ল, তবে কি হবে:
প্রোডাক্ট সার্ভিস.চ্যাঞ্জ প্রোডাক্টগ্রুপে, আমরা গ্রুপটি উপস্থিত রয়েছে কিনা তা পরীক্ষা করে দেখি (তারপরে), তারপরে এই চেকের পরে একটি পৃথক ব্যবহারকারী প্রোডাক্ট গ্রুপটিকে মুছে ফেলবে (অন্যান্য গ্রুপসভারস.ডিলিটগ্রুপের মাধ্যমে)। এই ক্ষেত্রে আমরা এমন একটি পণ্যের জন্য একটি রেফারেন্স সেট করেছি যা সবে মুছে ফেলা হয়েছে?
এটি কি আমার ডিজাইনের ত্রুটিযুক্ত যে আমার একটি আলাদা ডোমেন ডিজাইন ব্যবহার করা উচিত (প্রয়োজনে অতিরিক্ত উপাদান যুক্ত করা), অথবা আমাকে লেনদেন ব্যবহার করতে হবে?