আমাদের কি প্রথমে সত্তা-সম্পর্ক মডেলিং করা উচিত বা অবজেক্ট-ওরিয়েন্টেড মডেলিং করা উচিত?


9

স্ক্র্যাচ থেকে অ্যাপ্লিকেশন তৈরি করার সময়, আমি কি অবজেক্ট-ওরিয়েন্টেড (ওও) মডেল বা সত্তা-সম্পর্ক (ইআর) মডেল দিয়ে শুরু করব?

উত্তর:


13

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

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

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


7

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

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


2 ধরণের মডেলিংয়ের মধ্যে পার্থক্য চিহ্নিত করার জন্য +1। আমি সম্পূর্ণরূপে সম্মত নই যে আপনি একই সাথে 2 টি মডেল সম্পর্কে ভাবতে পারেন। এছাড়াও, কিছু ওও অনুরাগী বিবেচনা করে যে আপনার ওও এবং ইআর মডেলগুলি সবসময় একই রকম হওয়া উচিত নয়। তবে একটি ওও মডেল ডাটাবেস ডিজাইনের ভিত্তি হিসাবে ব্যবহৃত হতে পারে তবে এই রূপান্তরটি কিছুটা জটিল।
NoChance

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

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