এডিএম বিতরণ পরিষেবাদির যেমন একটি মাইক্রোসার্ভিসেসের সমাধানের জন্য ভাল প্যাটার্ন। এটি আজকের ওয়েব ভিত্তিক ব্যবসায়ের বেশিরভাগ ক্ষেত্রে ফিট করে।
আমাদের যদি অর্ডার ডোমেন অবজেক্ট থাকে তা বিবেচনা করুন। একটি ওওপি পদ্ধতির সাথে আমরা অর্ডার যোগ করি। ক্রয় () অর্ডার.ক্যান্সেল () ইত্যাদি It এটি কোনও ডেস্কটপ অ্যাপ্লিকেশনটিতে ভালভাবে কাজ করবে, যেখানে আমরা মেমরির অর্ডার ধরে থাকি এবং একই উদাহরণে একাধিক জিনিস করি।
তবে যদি আমাদের কাছে বিতরণ ব্যবস্থা থাকে তবে এমন একটি প্রোগ্রাম রয়েছে যা কেবলমাত্র একটি জিনিস, যেমন অর্ডারগুলির একটি তালিকা অ্যাক্সেস করে এবং প্রতিটি পরিবর্তে ক্রয় করে, বা আদেশের একটি তালিকা পেয়ে এবং প্রতিটি পরিবর্তে বাতিল করে দেয় তবে একই বস্তুতে উভয় পদ্ধতি থাকা কোনও কার্যকর নয় makes অনুভূতি. আমাদের দুটি ডোমেন বা বাউন্ডেড কনটেক্সট থাকতে হবে:
PurchaseSystemOrder.Purchase()
এবং
CancelSystemOrder.Cancel();
এই বিষয়গুলি কেবলমাত্র বৈশিষ্ট্যগুলির ডেটা স্ট্রাকচারটি ভাগ করবে।
আপনি আরও বেশি সংখ্যক মাইক্রোসার্ভিসেস যুক্ত করার সাথে সাথে আপনি কয়েক ডজন ধরণের অর্ডার দিয়ে শেষ করেন। এটি আর কথা বলার জন্য জ্ঞান করে তোলে একটি , একটি ডোমেন অবজেক্ট হিসেবে অর্ডার এমনকি তার একই ধারণাগত যে ক্রমে এই সব সিস্টেম কর্তৃক প্রক্রিয়া করা হচ্ছে যদিও।
এটি অ্যানমিক মডেল, অর্ডার পাওয়া আরও বেশি বোঝার সুযোগ দেয় যা কেবলমাত্র ডেটা আবদ্ধ করে এবং তদনুসারে আপনার পরিষেবাগুলির নাম পরিবর্তন করে:
PurchaseService.Purchase(Order order)
এখন আমরা আবার অর্ডার সম্পর্কে কথা বলতে পারি এবং বর্তমানে ব্যবহৃত অন্যান্য পরিষেবাদিগুলিকে প্রভাবিত না করে আমরা প্রক্রিয়াটি শুরু করার জন্য আমরা যে কোনও নতুন পরিষেবাদি যুক্ত করতে পারি।
ফোলার এবং কো এক মনোলিথ সিস্টেমের পটভূমি থেকে আসে, তাদের বিশ্বে একটি এডিএম পদ্ধতির অর্থ মেমরিতে ইনস্ট্যান্ট করা এই সমস্ত পৃথক পরিষেবা এবং অর্ডারডিটিও চারপাশে পাস এবং রূপান্তরিত হওয়া সহ একটি একক অ্যাপ্লিকেশন হবে। সমৃদ্ধ অর্ডার মডেলটিতে পদ্ধতিগুলি রাখার চেয়ে এটি আরও খারাপ হবে।
তবে একটি বিতরণ সিস্টেমে অনেকগুলি প্রোগ্রাম রয়েছে, প্রত্যেকের জন্য কেবল একটি একক অর্ডার পদ্ধতি প্রয়োজন এবং এটি একাধিক আদেশে চালায়, প্রতিটি লোড করে, পদ্ধতিটি চালনা করে এবং পরে তা ত্যাগ করে। এটির জন্য কেবল একটি একক পরিষেবা এবং ডেটা অবজেক্টগুলির একটি স্ট্রিম প্রয়োজন।
একটি সমৃদ্ধ মডেলকে পুরোপুরি জনবহুল করা, কেবলমাত্র একটি একক কল করার জন্য সমস্ত পদ্ধতির প্রয়োজনীয়তা এবং নির্ভরতা সম্পর্কে উদ্বেগ প্রকাশ করা এবং তারপরে অবিলম্বে অবজেক্টটি ফেলে দেওয়া অর্থহীন।
প্লাস্টিকের একটিতে একটিতে পরিবর্তনের জন্য সমস্ত বিতরণকৃত উপাদানগুলি আপডেট করার প্রয়োজন হবে কারণ তারা সমস্ত তাদের যুক্তির জন্য ধনী মডেলের উপর নির্ভর করে।
আমার কোড বেসগুলিতে প্রয়োজনীয় জিনিসগুলির জন্য আমার কাছে কোনও কক্ষ নেই