ডোমেন চালিত ডিজাইন এবং ক্রস ডোমেন ইন্টারঅ্যাকশন


10

আমি একটি আপেক্ষিক ডিডিডি নবাগত, তবে আমি আমার জ্ঞান ফুটিয়ে উঠতে এবং ছড়িয়ে দেওয়ার জন্য যে কোনও কিছু এবং আমার হাত পেতে পারেন এমন সমস্ত কিছু পড়ছি।

আমি এই ডিডিডি প্রশ্নটি জুড়ে এসেছি, এবং উত্তরগুলির মধ্যে একটি আমাকে আগ্রহী করেছে।

ডিডিডি বাউন্ডেড কনটেক্সট এবং ডোমেনগুলি?

উত্তরের একটিতে পোস্টারটি কমপক্ষে 2 টি ডোমেনে পণ্যসম্পন্ন ইকমার্স সিস্টেমের উদাহরণ দেয়:

1) প্রোডাক্ট ক্যাটালগ 2) ইনভেন্টরি ম্যানেজমেন্ট

ঠিক আছে, এটি সমস্ত অর্থবোধ করে, অর্থাত্ আপনার ইকমার্সের সামনের প্রান্তে আপনি পণ্য সম্পর্কিত তথ্য প্রদর্শন করতে আগ্রহী, এবং তালিকা পরিচালনায় আগ্রহী নন।

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

তো, কীভাবে আপনি এটি পরিচালনা করবেন? আপনি কি

ক) পণ্য ডোমেন এবং ইনভেন্টরি ডোমেনের সমষ্টি উভয়ই লোড করবেন? খ) আপনি কি স্টক সংখ্যার জন্য স্টক সংখ্যার জন্য আপনার পণ্য ডোমেন সত্তায় কিছু সম্পত্তি রাখবেন, এবং তারপরে ইনভেন্টরি সত্তাটি আপডেট হওয়ার পরে এগুলি আপডেট করার জন্য ডোমেন ইভেন্টগুলি ব্যবহার করবেন?

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

উত্তর:


8

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

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

এটি বলা হচ্ছে, আপনার সমষ্টিগুলির সাথে (যা ব্যবসায়ের আক্রমণকারীকে লঙ্ঘন থেকে পরিবর্তনগুলি প্রতিরোধ করার জন্য দায়ী) এর সাথে কথোপকথনের দরকার নেই, তবে সামগ্রিক অবস্থার সাম্প্রতিক কপির একটি প্রতিনিধিত্বের সাথে।

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

পণ্য ডোমেন এবং ইনভেন্টরি ডোমেন সমষ্টি উভয়ই লোড করবেন?

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

আপনি কি স্টক সংখ্যার জন্য স্টক সংখ্যার জন্য আপনার পণ্য ডোমেন সত্তায় কিছু সম্পত্তি রাখবেন, এবং তারপরে ইনভেন্টরি সত্তাটি আপডেট হওয়ার পরে এগুলি আপডেট করার জন্য ডোমেন ইভেন্টগুলি ব্যবহার করবেন?

"স্রোতগুলি অতিক্রম করবেন না It এটি খারাপ হবে" "

ইভেন্টগুলি ডোমেন প্রসঙ্গে জুড়ে তথ্য সমন্বয় করতে: দুর্দান্ত ধারণা। এক ডোমেনের সাথে সম্পর্কিত অন্য ধরণের ধারণাগুলি পুশ করা: আরও কিছু বাদে দুর্দান্ত ধারণার বিপরীতে।

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

আমি কোনও কারণ জানি না যে একটি একক অ্যাপ্লিকেশনকে একটি ডোমেনে সীমাবদ্ধ করা দরকার। সত্যের একক উত্স যতক্ষণ থাকবে, আপনি যেকোনভাবে লেনদেন বিতরণ করতে পারেন।

তবে কেবল এটির মাধ্যমে চিন্তা করতে, উপরের উদাহরণে আমরা পণ্য ক্যাটালগ এবং পণ্য জায়ের জন্য সম্ভাব্য 2 ডিবি টেবিল দিয়ে শেষ করব। এখন, আমরা কি এটিতে একই পণ্য হিসাবে একই সনাক্তকারী ব্যবহার করি?

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

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

অথবা, আমরা কি ডেটাটির জন্য 1 টেবিল এবং 1 টেবিল সারি ব্যবহার করতে পারি এবং প্রাসঙ্গিক ডেটাগুলিকে কেবল সামগ্রিক বৈশিষ্ট্যে ম্যাপ করতে পারি?

বাবা! না, এটা করবেন না। আপনি এটি করার কোনও ব্যবসায়িক কারণ ছাড়াই লেনদেনের যুক্তি যুক্ত করছেন।


আমি উত্তর হিসাবে এটি টিক দিয়েছি, নীচে @ গিলিয়ামের কাছেও ক্রেডিট যিনি আরও উল্লেখ করেছেন যে একটি ভিউতে প্রদর্শন করার জন্য ডেটা পড়ার জন্য সমষ্টিগুলি লোড করা প্রয়োজন হয় না। এত দীর্ঘ বিস্তারিত উত্তরের জন্য ধন্যবাদ। "Traditionalতিহ্যবাহী" ডেটা মডেলটির প্রথম পদ্ধতির কাছ থেকে আসা আমি দৃ found়তা স্তরটি ভুলে গিয়ে ডোমেনের ভাষায় ফোকাস করতে বাধ্য হয়েছি। আমি যখন মনে করি আমি এটি পেয়েছি তখন আমি একটি আর্টিকেল পড়েছিলাম যা আমার বোঝার বাইরে চলে যায়।
পেন্ডরপল

আমি কেবল এই নিবন্ধটি এমএসডিএন.মাইক্রোসফটকম /en-us/magazine/dn802601.aspx পড়েছি যেগুলি ডোমেন ইভেন্টগুলি ব্যবহার করে প্রসঙ্গে কিছু ডেটা নকল করতে পারে। গ্রাহক পরিষেবা এবং একটি অর্ডার প্রসেসিং সিস্টেমের মধ্যে গ্রাহক তালিকা ভাগ করে নেওয়া উদাহরণ। এটি অর্ডার সিস্টেমে গ্রাহকের তথ্য সদৃশ করছে এবং ডেটা সিঙ্ক করার জন্য ইভেন্টগুলি ব্যবহার করছে। আমরা এখানে যে উত্তর দিয়েছি তা মুখে উড়ে যায়। অবশ্যই লিঙ্কযুক্ত নমুনায় অর্ডার প্রসঙ্গে কেবলমাত্র একটি গ্রাহকআইডি প্রয়োজন এবং এটি অ্যাপ্লিকেশন থেকে পপুলেশন করা যেতে পারে যা গ্রাহক পরিষেবা প্রসঙ্গে প্রবেশাধিকার পেয়েছে।
পেন্ডরপল

আপনি এখানে আপনার চিন্তায় খুব সুনির্দিষ্ট হতে চাইবেন। সিস্টেমগুলির মধ্যে ডেটা কপি করা ডোমেন মডেলগুলির মধ্যে ডেটা অনুলিপি করার মতো জিনিস নয়। যে কোনও সময় আপনি "কেবলমাত্র পড়ুন [চঞ্চল]" দেখেন, এটি একটি বড় ইঙ্গিত that যে সেই ডোমেনে ডেটা অন্তর্ভুক্ত নয় (এমনকি যদি অ্যাপ্লিকেশনটি এখনও এটিকে যত্নশীল করে)।
ভয়েসফুউনরেসন

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

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

3

আমি মনে করি আপনার প্রশ্নটি সত্যই 2 টি অर्थোগোনাল সেট বিকল্পগুলির জন্য কল করে -

  • আপনি কি দুটি বস্তু লোড করেন এবং তাদের ডেটাগুলি একসাথে উপস্থাপন করেন বা আপনি যে 1 টি বস্তুতে চান তাতে সমস্ত কিছু লোড করবেন?

  • আপনি স্টাফ বা অন্য কিছু প্রদর্শন করার জন্য সামগ্রিক ব্যবহার করেন?

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

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

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

ক্রস-বিসি ইন্টারঅ্যাকশন সম্পর্কে, আপনি /programming/16713041/communicating-between-two-bounded-contexts-in-ddd এ একবার দেখতে চান


1
ঠিক আছে, এটি সাহায্য করে। মূলত আমরা আমাদের আগ্রাসনগুলি সুসংগত, এবং আমাদের ডেটা বৈধ, এবং আমরা যে ক্রিয়াকলাপগুলি সম্পাদন করতে চাই তা আমাদের সামগ্রিক বা বিসি এর মধ্যে আবৃত হয় তা নিশ্চিত করার জন্য আমরা সমষ্টিগত রুট এবং বিসি ব্যবহার করছি। যখন সেই ডেটাটি পড়ার এবং প্রদর্শনের কথা আসে, তখন আমরা সমস্ত সংস্থাগুলি / বিসি হাইড্রেটেড না করে আলাদাভাবে এবং লাইটওয়েট পরিচালনা করতে পারি। সর্বোপরি, কেন আমরা যখন কাজটি করি তা কোনও রিপোর্ট বা অনস্ক্রিনে ডেটা প্রদর্শন করা হয় তখন আমাদের কেন সমষ্টিটি লোড করা দরকার। এটি নিখুঁত জ্ঞান তোলে। ধন্যবাদ।
পেন্ডরপল

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

1

ডিডিডি মানে এমন অ্যাপ্লিকেশন যেখানে ব্যবসায়ের যুক্তি জটিল। "কিছু মুদ্রণ করুন" এটি কোনও জটিল ব্যবসায়িক যুক্তি নয়। এটি আসলে কোনও ব্যবসায়িক যুক্তি নয়।

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


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

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

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

@ পেন্ডারপল, আমি মনে করি আপনি আমি যেখানে ছিলেন 11 বছর আগে (এখন 13) মাস আগে। তুমি এখন কোথায় ছিলে?
গ্রেগ বেল

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

1

আমার দৃষ্টিকোণ থেকে "পণ্য" এর পৃথক সংজ্ঞা রয়েছে - প্রতিটি বাউন্ডিং-প্রসঙ্গে "পণ্য" -ডোমেনের নিজস্ব সংজ্ঞা থাকে:

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

এর উপরে আমি একটি নিজস্ব শপ-বাউন্ডিং-প্রসঙ্গটি নিজের পণ্য-নির্ধারণের সাথে যুক্ত করব (অন্যান্য বাউন্ডিং-কনটেক্সটসের পণ্য-ডোমেনগুলির একটি প্রাসঙ্গিক সংমিশ্রণ)।

একটি শপ-প্রোডাক্টের "ইনভেন্টরি" থেকে সামগ্রী এবং প্রাপ্যতা থেকে "চিত্র এবং একটি বিবরণ পাঠ্য" থাকবে তবে ইনভেন্টরির "পণ্য বিক্রেতা" নয়।

এই অতিরিক্ত শপ-বাউন্ডিং-প্রসঙ্গ বাউন্ডিং-প্রসঙ্গ-এর সামগ্রী, জায়, দামের উপর নির্ভর করে


তাহলে আপনি কীভাবে সেই দোকান-পণ্য বিসি তৈরি করছেন? সেই প্রসঙ্গে আপনার কাছে কী পণ্য এবং ইনসিভেন্টরি বিসি সম্পর্কিত একটি রেফারেন্স রয়েছে এবং আপনি যখন কোনও স্টোর-প্রোডাক্ট বিসি লোড করেন তখন আপনি আপনার অধ্যবসায়ী স্টোর থেকে সেইগুলি হাইড্রেট করে যাচ্ছেন এবং তারপরে আপনার স্টোর প্রোডাক্ট প্রোপার্টিটির মাধ্যমে সেই বিসিগুলিতে আপনি যে সম্পত্তিগুলি চান তা উপস্থাপন করছেন? আমি এই নিবন্ধটি দেখতে পেয়েছিলাম যা আমি যা ভাবছিলাম তার ধারায়, খ্রিস্টপূর্ব ঘটনাগুলি অতিক্রম করে তবে উপরে @ গিল্লুম 13 উল্লেখ করেছেন যে ডিসপ্লে উদ্দেশ্যে আমি বিসি এড়াতে পারি এবং আমার দর্শনটির জন্য প্রয়োজনীয় ডেটাটি আবার টেনে নিতে পারি। msdn.microsoft.com/en-us/magazine/dn802601.aspx
PendorPaul
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.