ডোমেন ড্রাইভড ডিজাইন এমন জটিল সিস্টেমগুলির বিকাশের জন্য একটি পদ্ধতি এবং প্রক্রিয়া ব্যবস্থার প্রেসক্রিপশন, যার দৃষ্টিভঙ্গি কোনও সমস্যা ডোমেনের মধ্যে সমাধান ডোমেনের প্রযুক্তি শিল্পকর্মগুলির মধ্যে ক্রিয়াকলাপ, কর্ম, ইভেন্ট এবং ডেটা ম্যাপিং।
ডোমেন চালিত ডিজাইনের জোর সমস্যাটি ডোমেনটির একটি বিমূর্ত মডেল তৈরি করতে যাতে সমস্যাগুলির একটি নির্দিষ্ট সেটগুলিতে প্রয়োগ করা যেতে পারে সে জন্য সমস্যা ডোমেনটি বোঝা। ডোমেন ড্রাইভড ডিজাইন একটি পদ্ধতি হিসাবে কীভাবে এই মডেলটির বিকাশ এবং প্রযুক্তি বিকাশ এমন একটি সিস্টেম তৈরি করতে পারে যা এটির ব্যবহারকারীর চাহিদা পূরণ করে এবং সমস্যার ডোমেনে পরিবর্তনের সময়েও দৃ .় হতে পারে।
ডোমেন চালিত ডিজাইনের প্রক্রিয়াটির মধ্যে ডোমেন বিশেষজ্ঞ, সমস্যা ডোমেন জানেন এমন ব্যক্তি এবং নকশা / আর্কিটেকচার বিশেষজ্ঞগণ, সমাধান ডোমেন জানেন এমন লোকের মধ্যে সহযোগিতা জড়িত। ধারণাটি হ'ল ভাগ করা ভাষার সাথে একটি ভাগ করে নেওয়া মডেল হ'ল যাতে এই দুটি পৃথক ডোমেনের লোকেরা যেমন তাদের দুটি ভিন্ন দৃষ্টিভঙ্গির সাথে সমাধানটি নিয়ে আলোচনা করে তারা আসলে ভাগ করা জ্ঞানের ভিত্তিতে ভাগ করে নেওয়া ধারণার সাথে আলোচনা করে।
একটি নির্দিষ্ট সিস্টেমের প্রয়োজন এমন লোক এবং সিস্টেম ডিজাইন ও প্রয়োগকারী লোকগুলির মধ্যে ভাগ করে নেওয়া সমস্যা ডোমেন বোঝার অভাব সফল প্রকল্পগুলির মূল প্রতিবন্ধক বলে মনে হচ্ছে। ডোমেন চালিত ডিজাইন এই প্রতিবন্ধকতাটি সমাধান করার একটি পদ্ধতি।
এটি কোনও অবজেক্টের মডেল থাকার চেয়ে বেশি। ফোকাসটি ভাগ করে নেওয়া যোগাযোগ এবং সহযোগিতা উন্নতির বিষয়ে সত্যই তাই যাতে সমস্যা ডোমেনের মধ্যে প্রকৃত প্রয়োজনগুলি আবিষ্কার করা যায় এবং সেই প্রয়োজনীয়তাগুলি পূরণের জন্য একটি উপযুক্ত সমাধান তৈরি করা যায়।
ডোমেন-চালিত ডিজাইন: ভাল এবং চ্যালেঞ্জিং এই মন্তব্যটির সাথে একটি সংক্ষিপ্ত বিবরণ প্রদান করে:
ডিডিডি শীর্ষ স্তরের আর্কিটেকচার আবিষ্কার করতে এবং সফ্টওয়্যারটির অনুলিপি করা দরকার এমন ডোমেনটির মেকানিক্স এবং গতিবিদ্যা সম্পর্কে অবহিত করতে সহায়তা করে। কংক্রিটলি এর অর্থ, একটি ভালভাবে সম্পন্ন ডিডিডি বিশ্লেষণ ডোমেন বিশেষজ্ঞ এবং সফ্টওয়্যার আর্কিটেক্টদের মধ্যে ভুল বোঝাবুঝিকে হ্রাস করে এবং পরিবর্তনের জন্য ব্যয়বহুল অনুরোধগুলির পরবর্তী সংখ্যা হ্রাস করে। ডোমেন জটিলতায় ছোট ছোট বিষয়গুলিতে বিভক্ত হয়ে, ডিডিডি প্রজেক্ট আর্কিটেক্টকে একটি ফুলে যাওয়া অবজেক্ট মডেলটি ডিজাইন করতে বাধ্য করে এড়িয়ে যায়, যেখানে বাস্তবায়নের বিশদটি কার্যকর করতে অনেক সময় নষ্ট হয়ে যায় - অংশে কারণ হস্তান্তর করার জন্য সত্তার সংখ্যা প্রায়শই ছাড়িয়ে যায় কনফারেন্স-রুম সাদা বোর্ডগুলির আকার।
এই নিবন্ধটি পরিষেবাদি আর্কিটেকচারের জন্য ডোমেন চালিত ডিজাইন দেখুন যা একটি সংক্ষিপ্ত উদাহরণ সরবরাহ করে। নিবন্ধটি ডোমেন চালিত ডিজাইনের নিম্নলিখিত থাম্বনেইল বিবরণ সরবরাহ করে।
ডোমেন চালিত ডিজাইন আমাদের ব্যবহারের ক্ষেত্রে প্রাসঙ্গিক হিসাবে ব্যবসায়ের বাস্তবতার উপর ভিত্তি করে মডেলিংয়ের পক্ষে। বর্তমানে এটি বয়স বাড়ছে এবং হাইপ স্তর হ্রাস পাচ্ছে, আমাদের মধ্যে অনেকেই ভুলে যায় যে ডিডিডি পদ্ধতির সমাধানের সাধারণ বোঝার দিকে হাত এবং ডিজাইন সফ্টওয়্যারটি সমস্যাটি বুঝতে সহায়তা করে। অ্যাপ্লিকেশন তৈরি করার সময়, ডিডিডি ডোমেন এবং সাবডোমেন হিসাবে সমস্যাগুলি নিয়ে কথা বলে। এটি সমস্যার স্বতন্ত্র পদক্ষেপ / ক্ষেত্রগুলিকে সীমাবদ্ধ প্রসঙ্গ হিসাবে বর্ণনা করে, এই সমস্যাগুলি সম্পর্কে কথা বলার জন্য একটি সাধারণ ভাষায় জোর দেয় এবং বাস্তবায়নকে সমর্থন করার জন্য অনেক প্রযুক্তিগত ধারণা, যেমন সত্তা, মান বস্তু এবং সামগ্রিক মূল বিধি যুক্ত করে।
মার্টিন ফওলার বেশ কয়েকটি নিবন্ধ লিখেছেন যেখানে ডোমেন ড্রাইভন ডিজাইনের পদ্ধতি হিসাবে উল্লেখ করা হয়েছে। উদাহরণস্বরূপ এই নিবন্ধটি, বাউন্ডেডকন্টেক্সট , ডোমেন চালিত বিকাশ থেকে সীমাবদ্ধ প্রসঙ্গ ধারণার একটি ওভারভিউ সরবরাহ করে।
সেই অল্প দিনগুলিতে আমাদের পুরো ব্যবসায়ের একীভূত মডেল তৈরি করার পরামর্শ দেওয়া হয়েছিল, তবে ডিডিডি স্বীকৃতি দিয়েছে যে আমরা শিখেছি যে "একটি বৃহত সিস্টেমের জন্য ডোমেন মডেলটির সম্পূর্ণ সংহতকরণ কার্যকর বা ব্যয়বহুল হবে না" 1 । সুতরাং পরিবর্তে ডিডিডি একটি বৃহত সিস্টেমকে বাউন্ডেড কনটেক্সটে বিভক্ত করে, যার প্রত্যেকটিতে একটি ইউনিফাইড মডেল থাকতে পারে - মূলত মাল্টিপলক্যাননিকালমোডেলস কাঠামোগত করার উপায়।