ডোমেন চালিত ডিজাইন (ডিডিডি) কী? [বন্ধ]


276

আমি ডিডিডি (ডোমেন চালিত ডিজাইন) নিবন্ধগুলিতে প্রচুর ব্যবহৃত হচ্ছে দেখছি - আমি ডিডিডি সম্পর্কে উইকিপিডিয়া এন্ট্রি পড়েছি তবে এখনও এটি বুঝতে পারি না যে এটি আসলে কী এবং আমি আমার সাইটগুলি তৈরিতে এটি প্রয়োগ করতে কীভাবে যাব?

উত্তর:


595

প্রথমত, আপনি যদি এটি জানেন না যে আপনার এটির প্রয়োজন হয় তবে আপনার পক্ষে এটির দরকার নেই এটি সম্ভব। আপনি যদি ডিডিডি সমাধান করে এমন সমস্যাগুলি না স্বীকার করে থাকেন তবে সম্ভবত আপনার সেই সমস্যাগুলি নেই। এমনকি ডিডিডি অ্যাডভোকেটরাও প্রায়শই উল্লেখ করবেন যে ডিডিডি কেবল বৃহত্তর (> 6 মাস) প্রকল্পের জন্য তৈরি।

ধরে নিই যে আপনি এখনও এই মুহুর্তে পড়ছেন, আমার ডিডিডি হ'ল এটি:

ডিডিডি আপনার সফ্টওয়্যারটিকে একটি আসল ওয়ার্ল্ড সিস্টেম বা প্রক্রিয়াটির মডেল বানানোর চেষ্টা করছে। ডিডিডি ব্যবহার করার সময়, আপনাকে বোঝানো হচ্ছে এমন একটি ডোমেন বিশেষজ্ঞের সাথে ঘনিষ্ঠভাবে কাজ করা যিনি ব্যাখ্যা করতে পারেন যে বাস্তব-জগতের সিস্টেম কীভাবে কাজ করে। উদাহরণস্বরূপ, আপনি যদি এমন কোনও সিস্টেম বিকাশ করছেন যা ঘোড়ার দৌড়ে বাজি রাখার কাজ পরিচালনা করে তবে আপনার ডোমেন বিশেষজ্ঞ অভিজ্ঞ বুকমেকার হতে পারেন।

নিজের এবং ডোমেন বিশেষজ্ঞের মধ্যে আপনি একটি সর্বব্যাপী ভাষা (ইউএল) তৈরি করেন যা মূলত সিস্টেমটির ধারণাগত বিবরণ। ধারণাটি হ'ল আপনার ডোমেন বিশেষজ্ঞ এটি পড়তে পারে এবং এটি সঠিক কিনা তা যাচাই করতে পারে এমন পদ্ধতিতে সিস্টেমটি কী করে তা লিখতে সক্ষম হওয়া উচিত। আমাদের বাজির উদাহরণে, সর্বব্যাপী ভাষার মধ্যে 'জাতি', 'বাজি', 'প্রতিকূলতা' ইত্যাদি শব্দের সংজ্ঞা অন্তর্ভুক্ত থাকে।

উল দ্বারা বর্ণিত ধারণাগুলি আপনার অবজেক্ট-ওরিয়েন্টেড ডিজাইনের ভিত্তি তৈরি করবে। আপনার বস্তুগুলি কীভাবে ইন্টারঅ্যাক্ট করা উচিত সে সম্পর্কে ডিডিডি কিছু স্পষ্ট নির্দেশিকা সরবরাহ করে এবং আপনাকে আপনার বিষয়গুলিকে নিম্নলিখিত বিভাগগুলিতে ভাগ করতে সহায়তা করে:

  • মান অবজেক্টস, যা এমন একটি মান উপস্থাপন করে যা উপ-অংশ থাকতে পারে (উদাহরণস্বরূপ, একটি তারিখের একটি দিন, মাস এবং বছর থাকতে পারে)
  • সত্তা, যা পরিচয় সহ বস্তু । উদাহরণস্বরূপ, প্রতিটি গ্রাহক বস্তুর নিজস্ব পরিচয় রয়েছে, তাই আমরা জানি যে একই নামের দুটি গ্রাহক একই গ্রাহক নয়
  • সমষ্টিগত শিকড় হ'ল এমন বস্তু যা অন্যান্য সামগ্রীর মালিক। এটি একটি জটিল ধারণা এবং এই ভিত্তিতে কাজ করে যে কিছু কিছু অবজেক্ট রয়েছে যা তাদের মালিক না থাকলে বোঝা যায় না। উদাহরণস্বরূপ, 'অর্ডার লাইন' অবজেক্টটি 'অর্ডার' এর সাথে সম্পর্কিত বলে বোঝায় না, তাই আমরা বলি যে আদেশটি সামগ্রিক মূল, এবং অর্ডার লাইন অবজেক্টগুলি কেবল অর্ডার অবজেক্টের পদ্ধতিগুলির মাধ্যমে ম্যানিপুলেট করা যায়

ডিডিডি বিভিন্ন প্যাটার্নের প্রস্তাবও দেয়:

  • সংগ্রহস্থল , অধ্যবসায়ের একটি নমুনা (আপনার ডেটা সংরক্ষণ এবং লোড করা, সাধারণত / কোনও ডেটাবেজে / থেকে)
  • কারখানা , অবজেক্ট তৈরির জন্য একটি নিদর্শন
  • পরিষেবা, এমন ডোমেন তৈরির জন্য একটি প্যাটার্ন যা নিজের ডোমেনের অংশ না হয়ে আপনার প্রধান ডোমেন অবজেক্টগুলিকে ম্যানিপুলেট করে

এখন, এই মুহুর্তে আমাকে বলতে হবে যে আপনি যদি এইগুলির আগে কোনও কিছু না শুনে থাকেন তবে আপনার কোনও ডেডলাইন রয়েছে এমন কোনও প্রকল্পে আপনি ডিডিডি ব্যবহার করার চেষ্টা করবেন না। ডিডিডি করার চেষ্টা করার আগে, আপনাকে নকশার ধরণ এবং এন্টারপ্রাইজ ডিজাইনের ধরণগুলির সাথে পরিচিত হওয়া উচিত । এগুলি জানার ফলে ডিডিডি উপলব্ধি করা অনেক সহজ হয়ে যায়। এবং, উপরে উল্লিখিত হিসাবে, ইনফকিউ থেকে ডিডিডির একটি নিখরচায় পরিচিতি রয়েছে (যেখানে আপনি ডিডিডি সম্পর্কে আলোচনাও পেতে পারেন)।


33
বাহ ... কি দুর্দান্ত জবাব! খুব প্রশংসা এবং সর্বোত্তম ব্যাখ্যা আমি এক মাইল দূরে কোথাও পড়েছি ধন্যবাদ .. আমি আগামীকাল এই বইটি ডাউনলোড করব।
leen3o

3
"সমষ্টিগত শিকড়গুলি এমন বস্তু যা অন্য বস্তুর মালিক This এটি একটি জটিল ধারণা এবং এই ভিত্তিতে কাজ করে যে কিছু কিছু বস্তু রয়েছে যার মালিক না থাকলে তা বোঝা যায় না" "আমি মনে করি এটি এখানে ভুল ধারণা হতে পারে, আপনি যে ধারণাটি উল্লেখ করেছেন হ'ল "সম্পূর্ণ মূল্য", যখন সমষ্টিটি লেনদেনের সীমানা সম্পর্কে আরও বেশি উদ্বিগ্ন, যেখানে সমস্ত ব্যবসায়িক আগ্রাসী নিয়ম এখানে প্রয়োগ করা প্রয়োজন।
super1ha1

6
সত্যি কথা বলতে, এটি প্রতিটি প্রকল্পের মতো শোনা যায় যেখানে বিকাশকারীরা এক মাসেরও বেশি সময় ধরে স্থপতিদের সাথে সহযোগিতা করে। (ভাল, আমার অভিজ্ঞতা অনুসারে কমপক্ষে)) যা উপলব্ধি আমাকে আপনার উত্তর আরও প্রশংসা করে তোলে। :)
জারোস্লাভ জারুবা

4
আমি ডিডিডি "কেবলমাত্র বড় প্রকল্পের উদ্দেশ্যে" এই উক্তিটির সাথে একমত নই। ডিডিডি এমন কিছু নয় যা আপনাকে অবশ্যই পুরোপুরি করতে হবে বা আদৌ করা উচিত নয়। আপনি কেবল ডিডিডি থেকে কিছু অনুশীলন করতে পারেন। উদাহরণস্বরূপ আপনি কেবল "মান অবজেক্টস" এবং "সর্বব্যাপী ভাষা" করতে পারেন এবং একটি ছোট প্রকল্পে সামগ্রিক শিকড় নাও করতে পারেন।
ইস্টারবাউনিবাগসমার 6

6
যাইহোক, আমরা প্রতিটি প্রকল্পের জন্য বা মডেল করি না তার জন্য আমরা ডোমেন বিশ্লেষণ করি না। প্রকল্পের ডোমেইন এবং সুযোগ বুঝার জন্য গ্রাহক এবং এসএমইর সাথে বিএ হিসাবে আমাদের ইতিমধ্যে কথোপকথনটি ইতিমধ্যে শেষ হয় না? আমি এখনও বুঝতে পারি না যে ডিডিডিতে অসাধারণ কিসের বাইরে অন্য কোনও সফ্টওয়্যার ডেভলপমেন্ট প্রকল্প রয়েছে?
সুপারনোভা

50

উদাহরণ হিসাবে স্ট্যাকওভারফ্লোটি নিন Take কিছু ওয়েব ফর্ম ডিজাইন করা শুরু করার পরিবর্তে, আপনি প্রথমে আপনার সমস্যার ডোমেনের মধ্যে সত্তাগুলির অবজেক্ট-ভিত্তিক মডেলিংয়ের দিকে মনোনিবেশ করেন, উদাহরণস্বরূপ ব্যবহারকারী, প্রশ্ন, উত্তর, ভোট, মন্তব্য ইত্যাদি যেহেতু ডিজাইনটি সমস্যার বিবরণ দ্বারা চালিত হয় ডোমেন এটিকে বলা হয় ডোমেন চালিত ডিজাইন

আপনি এরিক ইভান্স বইটিতে আরও পড়তে পারেন ।


5
এরিক ইভান্সের বইয়ের একটি সংক্ষিপ্ত সংস্করণ বিনামূল্যে পাওয়া যায়
Troelskn

সমস্যাটি হ'ল এমন কাউকে আপনার দরকার যারা ডোমেনটি অ্যাবস্ট্রাক্ট পর্যায়ে বুঝতে পারে যে তারা ওয়েব পৃষ্ঠাগুলি ব্যবহার করে বাঁধা দেওয়ার আগে তারা দরকারী কিছু বলতে পারেন! এই কেস গ্রেট
আয়ান রিংরোজ

3
তবে কে ফর্ম ডিজাইন করে শুরু করবেন, সততার সাথে? কোনও সম্মানজনক একাডেমিক কোর্স ব্যবসায়ের প্রয়োজনীয়তা অনুসারে বিশ্লেষণ, নকশা এবং মডেলিং অ্যাপ্লিকেশনগুলির মধ্য দিয়ে যাবে। আমি এই কৌশলটি দিয়ে নতুন কী পাই না।
সেবাস

6
আমিও, এটি কেবল একটি অবজেক্ট ওরিয়েন্টড ডিজাইন, এই ধারণাটি আসার আগেই সবাই ব্যবহার করেছিল used আমি এখানে কোন নতুন আবিষ্কার দেখছি না।
রোনেন ফেস্টিংগার

2
@ রোনেনফেস্টিংগার দয়া করে কেবল এই উত্তর দিয়ে ডিডিডি বিচার করবেন না। এরিক ইভান্স বইটিতে প্রচুর অন্তর্দৃষ্টি রয়েছে। উদাহরণস্বরূপ সীমাবদ্ধ প্রসঙ্গে। বাউন্ডেড কনটেক্সট দৃষ্টান্ত আজ আমরা যে মাইক্রো সার্ভিসেস তৈরি করছি তার একটি স্তম্ভ। বইটি পড়া আপনাকে মাইক্রোসার্ফেসগুলি বুঝতে সহায়তা করে।
কেরেম বায়ডোয়ান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.