ডিডিডি-র রেফারেন্স হিসাবে কোনটি একটি সীমাবদ্ধ প্রসঙ্গ?


40

ভন ভার্ননের "ইমপ্লিমেন্টিং ডোমেন ড্রাইভন ডিজাইন" বইয়ের মাধ্যমে কাজ করার সময়, একটি সীমাবদ্ধ প্রসঙ্গটি আসলে কী তা সম্পর্কে আমি ভাল উপলব্ধি করতে অক্ষম হয়েছি।

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

একই বইয়ের ৩ য় অধ্যায়টি সীমাবদ্ধ প্রসঙ্গের মধ্যে ইন্টিগ্রেশন কৌশলগুলি বোঝায়। তবে এটি এর দ্বারা বোঝা যাচ্ছে যে সীমাবদ্ধ প্রসঙ্গগুলি আসলে বিভিন্ন ধরণের সফ্টওয়্যার সিস্টেম বা প্রত্নতত্ত্ব।

মার্টিন ফোলার সংক্ষিপ্তভাবে একটি সীমানা প্রসঙ্গে ( http://martinfowler.com/bliki/BoundedContext.html ) ধারণাটি আলোচনা করেছেন , তবে সত্যই বিষয়টি স্পষ্ট করে না।

দিন শেষে, কি হল একটি বেষ্টিত প্রসঙ্গ? এটি কি সাবডোমেনগুলির একটি গ্রুপিং? সাবডোমেনের মডেল এবং ভাষা? সাবডোমেন বাস্তবায়ন? এই উত্তরগুলি ব্যতীত, বাস্তব জীবনের সমস্যার জায়গাকে কীভাবে সীমিত প্রসঙ্গে বিভক্ত করা যায় তা বোঝা বরং বোঝা কঠিন।



2
অন্তত আমার জন্য এই পোস্টটি সংজ্ঞাটি পরিষ্কার করে না। এটি সীমাবদ্ধ প্রসঙ্গগুলি সম্পর্কিত ধারণা নিয়ে আলোচনা করে কারণ তারা সাংগঠনিকভাবে প্রয়োগ করতে পারে, তবে এটি সত্যই কখনও এটিকে সফ্টওয়্যার বিকাশে ফিরিয়ে দেয় না।
মাইকেল 18

1
ঠিক আছে. ঠিক আছে, যদিও আমি ডিডিডি বিশেষজ্ঞ নই, আমি মাইক্রোসফ্ট থেকে এই বিবরণটি দরকারী ( পরিচিতির অনুচ্ছেদে) থেকে খুঁজে পেয়েছি: এমএসডিএন.মাইক্রোসফটকম /en-us/library/jj591572.aspx । এটি বলে: ...
রবার্ট হার্ভে

1
বাউন্ডেড প্রসঙ্গগুলি স্বায়ত্তশাসিত উপাদান, তাদের নিজস্ব ডোমেন মডেল এবং তাদের নিজস্ব সর্বব্যাপী ভাষা। রান সময়ে তাদের একে অপরের উপর নির্ভরতা থাকা উচিত নয় এবং বিচ্ছিন্নভাবে চলতে সক্ষম হওয়া উচিত। তবে তারা একই সামগ্রিক ব্যবস্থার একটি অংশ এবং একে অপরের সাথে ডেটা বিনিময় করা দরকার ...
রবার্ট হার্ভে

1
... আপনি যদি সীমাবদ্ধ প্রসঙ্গে সিকিউআরএস প্যাটার্নটি বাস্তবায়ন করেন তবে আপনার এই ধরণের যোগাযোগের জন্য ইভেন্টগুলি ব্যবহার করা উচিত: আপনার সীমানা প্রসঙ্গটি সীমানা প্রসঙ্গে বাইরে উত্থাপিত ইভেন্টগুলিতে প্রতিক্রিয়া জানাতে পারে এবং আপনার সীমানা প্রসঙ্গে ঘটনাগুলি প্রকাশ করতে পারে যে অন্যটি সীমাবদ্ধ প্রসঙ্গটি সাবস্ক্রাইব করতে পারে। ইভেন্টগুলি, আপনার সীমানা প্রসঙ্গে আপনার মধ্যে শিথিল মিলন বজায় রাখতে সক্ষম করুন।
রবার্ট হার্ভে

উত্তর:


38

বাউন্ডেড কনটেক্সট এবং সাবডোমেনগুলি বিভিন্ন স্তরে বিদ্যমান।

একটি সাবডোমাইন সমস্যা জায়গার একটি অংশ, এটি সিস্টেমের একটি প্রাকৃতিক বিভাজন , প্রায়শই সংস্থার কাঠামো প্রতিফলিত করে। সুতরাং রসদক্রিয়াকলাপ চালান এবং বিলিং থেকে পৃথক হতে পারে । এরিক প্রদত্ত দৃশ্যে তাদের ব্যবসায়ের প্রাসঙ্গিকতা অনুযায়ী মূল , সমর্থনকারী এবং জেনেরিক সাবডোমেনগুলিকে পৃথক করে।

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

একটি আছে বেষ্টিত কনটেক্সট আপনি একটি মডেল আছে প্রয়োজন, এবং এটি প্রায় একটি সুনির্দিষ্ট সীমানা। ঠিক অনেকগুলি ডেটা-চালিত অ্যাপ্লিকেশনটিতে কী অনুপস্থিত যা ডেটা ভাগ করতে ডেটাবেস ব্যবহার করে।

অন্য - অরথোগোনাল - এটি দেখার উপায়টি নিম্নলিখিত হতে পারে। সর্বব্যাপী ভাষা , বিশেষ শর্তে যেখানে প্রতিটি পদটির একক স্পষ্ট সংজ্ঞা থাকে, স্কেল হয় না। আপনি যত বেশি এটিকে প্রসারিত করবেন, ততই দ্ব্যর্থহীনতা ফুঁকবে you আপনি যদি সুনির্দিষ্ট, দ্ব্যর্থহীন মডেল অর্জন করতে চান তবে আপনাকে তাদের সীমাগুলি সুস্পষ্ট করে তুলতে হবে এবং অনেকগুলি ছোট ছোট সর্বব্যাপী ভাষা বলতে হবে, প্রত্যেকে একটি একক বাউন্ডেড কনটেক্সটের মধ্যে একটি ভাল সংজ্ঞায়িত উদ্দেশ্য সহ speak ।


1
সুতরাং, একটি আদর্শ বিশ্বে সাবডোমেনস এবং সীমানা প্রসঙ্গে একটি 1 থেকে 1 সম্পর্ক থাকতে পারে? (বোঝা যাচ্ছে, স্পষ্টতই, যা আদর্শ এবং সত্য কী তা পৃথক)।
মাইকেল

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

তবে মূল বিষয়টি বুঝতে হবে যে দুটি সমস্যা পরিবার রয়েছে: ১) বিদ্যমান প্রসঙ্গটি পড়া (যেখানে আপনি কেবলমাত্র বিদ্যমান মডেলগুলি এবং সহযোগিতাগুলি গ্রহণ এবং শ্রেণীবদ্ধ করতে পারেন ), 2) বিদ্যমান সীমাবদ্ধতার পরিপ্রেক্ষিতে সঠিক সফ্টওয়্যার ডিজাইন করা, প্রসঙ্গে সীমানা আরোপ করা ছোট, উদ্দেশ্য ভিত্তিক মডেলগুলির মধ্যে। দ্বিতীয় দৃশ্যে আপনি ইচ্ছাকৃতভাবে সাবডোমেন সীমানাকে ওভারল্যাপ করবেন না। ... সাধারণভাবে, একটি নিখুঁত সংস্থায় নিখুঁত সফ্টওয়্যার সন্ধান করা শক্ত স্টাফ হতে পারে। তবে এই অসঙ্গতিগুলি সমাধান করা চেষ্টা করার মতো হতে পারে।
ZioBrando

8

ডোমেন ড্রাইভড ডিজাইনের কৌশলগুলি আমাদের বাস করা বিশ্বের মডেলগুলি তৈরিতে সহায়তা করতে ব্যবহৃত হয় These এই প্রকল্পগুলিতে জড়িত মানুষের মনে ধারণা হিসাবে এই মডেলগুলি বিদ্যমান।

টেলিপ্যাথি এখনও শৈশবকালীন থাকার কারণে, এই ধারণাগুলি শব্দ এবং বাক্যাংশ ব্যবহার করে লোকদের মধ্যে যোগাযোগ করা হয়।

শব্দ এবং বাক্যাংশ সবচেয়ে ভাল সময়ে অস্পষ্ট হতে পারে। আমাদের অস্পষ্টতা কমাতে সহায়তা করার জন্য, আমরা তাদের প্রসঙ্গটি স্পষ্ট করতে 'প্রসঙ্গ' ব্যবহার করি।

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

Newbies প্রকল্পে আসে এবং এর ভাষা ব্যবহার এবং গ্রহণ শুরু করে। সম্ভবত তারা ব্যবহারকারী, সম্ভবত তারা বিকাশকারী। যদি তাদের কাছে কোনও প্রসঙ্গ সরবরাহ করা হয় না, তবে তারা নিজের জীবনের অভিজ্ঞতা থেকে তাদের নিজস্ব প্রসঙ্গে (এবং তাই, অর্থ) নিয়ে আসবে।

এই নতুন প্রয়োগ করা প্রসঙ্গটি কীভাবে নতুন বিকাশকারীদের কোডটি রিফ্যাক্টর বা বিকাশ করবে তা গাইড করবে। যদি তারা ভুল প্রসঙ্গ প্রয়োগ করে থাকে তবে তারা কোডটি রিফ্যাক্টর এবং বিকাশ করবে, সম্ভবত কখনও-কিছুটা, ভুল দিক। ভুল দিকনির্দেশগুলি, যদিও সামান্য, লাইনটিতে অনেক বড় সমস্যা তৈরি করতে পারে।

আমি এটি দেখতে পাচ্ছি, একটি 'সীমাবদ্ধ প্রসঙ্গ' নিছক একটি 'স্পষ্ট বর্ণিত প্রসঙ্গ' যা প্রকল্পের নবীদের হাতে দেওয়া হয় যাতে তারা আমাদের, সুন্দরভাবে সম্মানিত, মডেলকে দাগ দেওয়ার জন্য তাদের নিজস্ব স্বেচ্ছাচারিত প্রসঙ্গটি প্রয়োগ করে না।

এটা দলের দ্বারা, কিছু স্পষ্ট স্বীকৃতি যে this phraseএ, this part of the projectমানে ঠিক this thing(এবং, যেমন তুমি ভাল মনে হতে পারে, that thing)।

ঠিক যেমন আপনার বাগান এবং প্রতিবেশীর বাগানের মধ্যে সীমানা চিহ্নিত করা ভাল ধারণা। আপনি সীমানাটি স্পষ্টভাবে উল্লেখ করেছেন যাতে তারা আপনার নিখুঁত ম্যানিকিউড লনে ফুলের বিছানা খনন শুরু করলে আপনি রাগ করবেন না don't

হ্যাঁ, ওটাই. এটি একটি খুব সাধারণ ধারণা যা এটি এত গুরুত্বপূর্ণ যে এটি সম্পর্কে প্রচুর লেখা হয়েছিল।

তাই হ্যাঁ. একটি সীমাবদ্ধ প্রসঙ্গটি বেশ আক্ষরিক অর্থেই একটি সীমানা, একটি 'বেড়া', যা একটি প্রকল্পের অন্য সাবডোমেনের প্রসঙ্গ থেকে একটি সাবডোমেনের প্রসঙ্গের মধ্যে পার্থক্য করে।

অর্থের অস্পষ্টতা এড়াতে সাবডোমেনের মডেল এবং ভাষা অন্যান্য মডেল এবং ভাষা থেকে পৃথক করা হয়।

তবে হ্যাঁ. পৃথিবী এত সহজ নয়।

সংজ্ঞায়িত প্রসঙ্গটি মেনে চলতে আপনাকে এবং দলকে কঠোর হতে হবে। সফটওয়্যার নির্মাণের সময় কোণগুলি কাটানোর প্রসঙ্গটি অলস হওয়া এবং পুনরায় কল্পনা করা সত্যিই সহজ।

এছাড়াও, জিনিসগুলি অন্যান্য জিনিসের সাথে ইন্টারঅ্যাক্ট করে এবং সীমিত প্রসঙ্গগুলি একে অপরের সাথে ইন্টারঅ্যাক্ট করারও প্রয়োজন। সুতরাং, এই মিথস্ক্রিয়াগুলি কীভাবে ঘটে তা বর্ণনা করার জন্য বিভিন্ন ধরণ রয়েছে। এই বিভিন্ন নিদর্শনগুলির জন্য এরিক ইভানের বই ডোমেন ড্রাইভেন ডিজাইন অধ্যায় 14 দেখুন: শেয়ার্ড কার্নেল, গ্রাহক সরবরাহকারী, কনফর্মিস্ট, অ্যান্টিকার্পশন লেয়ার, পৃথক উপায়, ওপেন হোস্ট সার্ভিস, প্রকাশিত ভাষা।


1
সুতরাং এটি মূলত একটি সাবডোমেনের চারপাশে একটি বেড়া।
রবার্ট হার্ভে

1
হ্যাঁ. যতদূর আমি এটি দেখতে পাচ্ছি। এটি একটি বেড়া।
JW01

0

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

বিভিন্ন পরিস্থিতিতে আমি তিনটি পৃথক দৃষ্টিকোণ বা বাউন্ডেড কনটেক্সট ধারণার রূপক ব্যবহার করি।

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

ডোমেন বিশেষজ্ঞের দৃষ্টিকোণে সীমাবদ্ধ প্রসঙ্গটি এমন একটি অঞ্চল যেখানে নির্দিষ্ট ব্যবসা-প্রক্রিয়া প্রয়োগ করা হয়, নির্দিষ্ট সর্বব্যাপী ভাষা প্রয়োগ করা হয় এবং একটি নির্দিষ্ট শর্তাবলী একটি স্পষ্ট ধারণা দেয়, অন্যরা তা করে না। সুতরাং এটি কেবল কাগজের শীট বা হোয়াইটবোর্ডে আঁকা একটি আয়তক্ষেত্র।

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

সীমাবদ্ধ কনটেক্সট ধারণার এই উদাহরণটি আমি সত্যিই পছন্দ করি ।

আরেকটি গুরুত্বপূর্ণ প্রশ্ন (যদি সর্বাধিক গুরুত্বপূর্ণ না হয়) তা হল সীমিত প্রসঙ্গগুলি কীভাবে চিহ্নিত করা যায় । যদি আপনি এটি ভুলভাবে করতে চান তবে আপনার সাথে শেষ পর্যন্ত চটি, অবিস্মরণীয় এবং শক্তভাবে মিলিত পরিষেবাগুলি হবে , যা বিতরণকৃত একপাল হিসাবেও পরিচিত ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.