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