একটি জটিল ডোমেন-কেন্দ্রিক প্রয়োগের মৌলিক সিআরইউডি অপারেশনে ডিডিডি পন্থা


9

আমার সংস্থা স্ক্র্যাচ থেকে আমাদের ওয়েব অ্যাপ্লিকেশনটি পুনরায় লিখছে। এটি অর্থ শিল্পের একটি জটিল ডোমেন সহ একটি বৃহৎ এন্টারপ্রাইজ স্তর অ্যাপ্লিকেশন।

আমরা অধ্যবসায়ের জন্য একটি ওআরএম (সত্তা ফ্রেমওয়ার্ক) ব্যবহার করছি।

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

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

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

ব্যবহারকারী বিনিয়োগ অ্যাকাউন্টের স্ক্রিনে "সম্পন্ন" ক্লিক করে এবং নিয়ামককে একটি পোস্ট সম্পন্ন করার পরে, নিয়ামকের কাছে এখন বিনিয়োগ অ্যাকাউন্টের একটি সঠিক ডাটাবেস উপস্থাপনা রয়েছে যা এটি সংরক্ষণ করতে হবে। তবে কোনও কারণে, আমি নিয়ন্ত্রকের মডেলটিকে সরাসরি ডাটাবেস মডেলের (সত্তা ফ্রেমওয়ার্ক মডেল) ম্যাপিংয়ের পরিবর্তে পরিবর্তন করার জন্য ডোমেনের উপস্থাপনাটি লোড করব?

সুতরাং সংক্ষেপে আমি ডোমেন মডেলটিতে একটি ডেটা মডেল ম্যাপ করছি, ঠিক তখনই এটি অবিরাম রাখতে ডেটা মডেলটিতে ম্যাপ করা যায়। কীভাবে তা বোঝা যায়?

উত্তর:


9

ঠিক আছে আপনি কল্পনা করুন যে আপনি আপনার অ্যাকাউন্ট তৈরি পৃষ্ঠার ফর্ম পোস্ট ম্যাপিংটি সরাসরি EF অবজেক্টে ম্যাপিং করে যা ডিবিতে সংরক্ষণ করা হয় implement

আরও ধরে নেওয়া যাক যে ডাটাবেসটিতে বিভিন্ন বিধিনিষেধ রয়েছে যা সম্পূর্ণ ভুল ডেটা ইনপুট হওয়া রোধ করে। অ্যাকাউন্টে সর্বদা গ্রাহক ইত্যাদি থাকে etc.

সবকিছু ঠিক আছে বলে মনে হচ্ছে। কিন্তু তারপরে ব্যবসায়টি একটি নতুন নিয়ম করে।

  • বৃহস্পতিবার তৈরি করা অ্যাকাউন্টগুলি 2% বোনাস সুদের হার পায়। (ধরুন সুদের হার একাউন্টের ক্ষেত্রের মধ্যে একটি)

এখন আপনাকে এই যুক্তিটি কোথাও রেখে দিতে হবে এবং এটি putোকাতে আপনার কোনও ডোমেন অবজেক্ট নেই।

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

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


3
এটি রাখা ভাল উপায়। আমি বিবি বিবরণ মিশ্রিত ব্যবসায়ের নিয়ম সন্ধান ঘৃণা করি। +1
candied_orange

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

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

একটি জটিল গণনা ইঞ্জিন কল্পনা করুন। গণনা চালানোর জন্য যে ইনপুটগুলির প্রয়োজন তার মধ্যে একটি হ'ল বিনিয়োগের অ্যাকাউন্ট, তবে সমস্ত বিনিয়োগের অ্যাকাউন্টটি ক্যালক ইঞ্জিনের কাছে কিছু সময়ের জন্য একটি আয়ের প্রবাহ। বিনিয়োগের অ্যাকাউন্টের এই ডোমেন মডেলটি ব্যবহারকারীরা এই বিনিয়োগ অ্যাকাউন্টের জন্য প্রবেশ করা কাঁচা ইনপুট থেকে সম্পূর্ণ পৃথক। যাইহোক, যখন ব্যবহারকারী নাম, বর্তমান মান ইত্যাদির মতো মৌলিক ইনপুটগুলিতে প্রবেশ করছেন তখন এখনও বৈধতা যুক্তিযুক্ত হওয়া দরকার, তবে ক্যালক ইঞ্জিনটি যে মডেলটি ব্যবহার করে তার সাথে এর কিছুই করার দরকার নেই। তাহলে কি এখানে বিনিয়োগের অ্যাকাউন্টের জন্য দুটি ডোমেন মডেল রয়েছে?
তারে_ইন

..... অথবা ডোমেনে বিনিয়োগ অ্যাকাউন্টের মডেল থাকা CRUD ক্রিয়াকলাপের জন্য ওভারকিল এবং সেখানে কিছু
বৈধতাযুক্ত

7

কীভাবে তা বোঝা যায়?

সংক্ষিপ্ত উত্তর: এটি না

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

উদী দাহানের একটি আকর্ষণীয় পর্যবেক্ষণ ছিল যা এটি পরিষ্কার করতে সহায়তা করতে পারে

দহন বিবেচনা করে যে একটি পরিষেবাদির মধ্যে কিছু প্রকারের কার্যকারিতা এবং কিছু ডেটা থাকতে হবে। যদি এটিতে ডেটা না থাকে তবে এটি কেবল একটি ফাংশন। যদি এটি যা কিছু করে তা ডেটাতে সিআরইউডি অপারেশন করে তবে এটি ডাটাবেস।

ডোমেন মডেলটির মূল বিষয় হল সর্বোপরি, ডেটাতে আপডেট হওয়া সমস্তগুলি বর্তমান ব্যবসায়িক আগ্রাসনটি বজায় রাখা নিশ্চিত করে। অথবা, অন্যভাবে বলতে গেলে, ডোমেন মডেলটি এটি নিশ্চিত করার জন্য দায়বদ্ধ যে রেকর্ডের সিস্টেম হিসাবে কাজ করে এমন ডাটাবেস সঠিক কিনা correct

আপনি যখন কোনও সিআরইউডি সিস্টেমের সাথে কাজ করছেন, আপনি সাধারণত ডেটার জন্য রেকর্ডের ব্যবস্থা নন। বাস্তব জগতে রেকর্ডের বই, এবং আপনার ডাটাবেস বাস্তব জগতে শুধু একটি স্থানীয়ভাবে ক্যাশে উপস্থাপনা।

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

সুতরাং আপনি সাধারণত বাইরের বিশ্ব থেকে আপনার কাছে আসা ডেটাতে কোনও ডোমেন বৈধতা যাচ্ছেন না ; তথ্যটি সঠিকভাবে তৈরি এবং সঠিকভাবে স্যানিটাইজড হয়েছে তা নিশ্চিত করার জন্য আপনার কাছে চেক থাকতে পারে ; তবে এটি আপনার ডেটা নয় - আপনার ডোমেন মডেল কোনও ভেটো পাবে না।

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

এটি সেই ক্ষেত্রে ঠিক যেখানে ডাটাবেসটি রেকর্ডের বই

ওউয়ারজি এইভাবে রাখুন

প্রচুর লিগ্যাসি কোডে কাজ করা সত্ত্বেও, আমি ডোমেনের ভিতরে কী আছে এবং এর বাইরে কী তা সনাক্ত করতে সাধারণ ভুলগুলি লক্ষ্য করি।

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

আমরা ডোমেনের অভ্যন্তরে থাকা ডেটা পরিচালনা করতে ডোমেন মডেলটি ব্যবহার করি; ডোমেনের বাইরের ডেটা ইতিমধ্যে অন্য কোথাও পরিচালিত হয়েছে - আমরা কেবল একটি অনুলিপি ক্যাশে করছি।

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

সুতরাং সম্ভবত আমাদের এখানে দুটি সীমাবদ্ধ প্রসঙ্গ আছে? প্রতিটি জন্য একটি বিভিন্ন মডেলinvestment account

হতে পারে. আমি এটিকে বাউন্ডেড প্রসঙ্গ হিসাবে ট্যাগ করতে অনিচ্ছুক হব কারণ এটি অন্যান্য জিনিসপত্রের সাথে কী আসে তা পরিষ্কার নয়। আপনার দুটি প্রসঙ্গ হতে পারে এটি সর্বব্যাপী ভাষায় সূক্ষ্ম পার্থক্যের সাথে একটি প্রসঙ্গ হতে পারে যা আপনি এখনও গ্রহণ করেন নি।

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

আপনি যদি সীমাবদ্ধ প্রসঙ্গগুলি পরিষেবাগুলির সাথে একত্রিত হওয়ার বিষয়টি বিবেচনা করেন তবে এটি আরও সহজ হতে পারে: আপনি কি এই দুটি কার্যকারিতা স্বাধীনভাবে স্থাপন করতে সক্ষম হবেন? হ্যাঁ দুটি সীমাবদ্ধ প্রসঙ্গে পরামর্শ দেয়; তবে তাদের যদি সিঙ্ক্রোনাইজ করে রাখা দরকার হয় তবে এটি কেবলমাত্র একটি।


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

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

2

আপনার ডোমেনে আপনাকে জানতে হবে না যে এমনকি ডাটাবেসটি বিদ্যমান।

আপনার ডোমেন ব্যবসার বিধি সম্পর্কে। আপনার ডাটাবেস তৈরি করা সংস্থাটি ব্যবসায়ের বাইরে চলে গেলে যে জিনিসগুলিকে টিকে থাকতে হবে। এটি হ'ল যদি আপনি চান যে আপনার সংস্থাটি বেঁচে থাকবে। আপনি যখন কীভাবে ডেটা বজায় রাখেন সেই পরিবর্তনগুলি কীভাবে পরিবর্তিত হয় সেই নিয়মগুলি যখন যত্ন করে না তখন এটি খুব সুন্দর।

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

আপনার ডেটা কীভাবে রাখবেন সে সম্পর্কে চাচা ববকে এই কথাটি বলতে হয়:

সাধারণত সীমানা অতিক্রমকারী ডেটা হ'ল সহজ ডেটা স্ট্রাকচার। আপনি যদি পছন্দ করেন তবে আপনি বেসিক স্ট্রাকস বা সাধারণ ডেটা ট্রান্সফার অবজেক্ট ব্যবহার করতে পারেন। অথবা ডেটা ফাংশন কলগুলিতে আর্গুমেন্ট হতে পারে। অথবা আপনি এটি একটি হ্যাশম্যাপে প্যাক করতে পারেন, বা এটি কোনও বস্তুতে তৈরি করতে পারেন।

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

[…] যখন আমরা একটি সীমানা জুড়ে ডেটা পাস করি, এটি সর্বদা অভ্যন্তরীণ বৃত্তের পক্ষে সবচেয়ে সুবিধাজনক আকারে থাকে।

পরিষ্কার আর্কিটেকচার

তিনি আরও ব্যাখ্যা করেছেন যে আপনার বাইরের স্তরগুলি কীভাবে আপনার অভ্যন্তরের স্তরগুলিতে প্লাগইন হওয়া উচিত যাতে অভ্যন্তরীণ স্তরগুলি এমনকি বাইরের স্তরগুলির উপস্থিতি জানে না।

পরিষ্কার আর্কিটেকচার চিট শীট

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

এটি হয় তা হয় বা আপনি সিদ্ধান্ত নেন যে আপনার ডোমেনটি কেবলমাত্র ডেটাবেস ম্যানিপুলেট করার জন্য। সেক্ষেত্রে আপনার ডোমেনের ভাষা এসকিউএল। যদি ঠিক থাকে তবে আপনার ব্যবসায়ের নিয়মগুলি প্রয়োগের দৃ rules়তার পরিবর্তন থেকে বাঁচতে আশা করবেন না। এগুলি সম্পূর্ণরূপে পুনরায় লেখার জন্য আপনার প্রয়োজন হবে।


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

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

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

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

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

1

ডিডিডি তত্ত্ব প্রয়োগ করা:

সেই ডোমেনে দুটি বাউন্ডেড কনটেক্সট রয়েছে:

  • বিনিয়োগের হিসাবের হিসাব। বিনিয়োগ অ্যাকাউন্টের গাণিতিক মডেল হ'ল একটি উপাদান সম্ভবত একটি সমষ্টি।
  • কোর ফিনান্স ক্লায়েন্ট বিনিয়োগ অ্যাকাউন্ট সত্তার একটি।

প্রতিটি বাউন্ডেড কনটেক্সটে আলাদা স্থাপত্য নকশা থাকতে পারে।

উদাহরণ:

ক্লায়েন্ট ইনভেস্টমেন্ট অ্যাকাউন্ট হ'ল একটি সত্তা (সম্ভবত একটি সমষ্টি, ডোমেনের উপর নির্ভর করে) এবং তথ্য অধ্যবসায় সত্তার রিপোজিটরি (আরডিবি বা অন্যান্য ধরণের ডিবি যেমন ওও ডেটাবেস) এর মাধ্যমে তৈরি করা হয়।

সিআরইউডি অপারেশনের জন্য কোনও ডিডিডি পন্থা নেই। কোনও ডিবি ক্ষেত্রের সাথে কোনও বস্তুর ডেটা বেঁধে রাখা ডিজাইনের নীতিগুলি ভঙ্গ করে।

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