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