এটি জানা যাক যে আমি নির্ভরতা ইনজেকশন (ডিআই) এবং স্বয়ংক্রিয় পরীক্ষার একটি বড় অনুরাগী । আমি এটি সম্পর্কে সারা দিন কথা বলতে পারে।
পটভূমি
সম্প্রতি, আমাদের দলটি স্ক্র্যাচ থেকে তৈরি করা এই বড় প্রকল্পটি পেয়েছে। জটিল ব্যবসায়ের প্রয়োজনীয়তা সহ এটি একটি কৌশলগত প্রয়োগ। অবশ্যই, আমি এটি সুন্দর এবং পরিষ্কার হতে চেয়েছিলাম, যার অর্থ আমার জন্য: রক্ষণাবেক্ষণযোগ্য এবং পরীক্ষামূলক able তাই আমি ডিআই ব্যবহার করতে চেয়েছিলাম।
সহ্য করার ক্ষমতা
সমস্যাটি ছিল আমাদের দলে, ডিআই নিষিদ্ধ। এটি কয়েকবার উত্থাপিত হয়েছে, তবে দেবতারা তাতে সম্মতি দেয় না। তবে তা আমাকে নিরুৎসাহিত করেনি।
আমার চাল
এই অদ্ভুত শব্দ হতে পারে কিন্তু তৃতীয় পক্ষের লাইব্রেরি সাধারণত আমাদের স্থপতি দলের দ্বারা অনুমোদিত নয় এমন হয় (মনে: "তুমি তো দূরের কথা করবে না ইউনিটি , Ninject , NHibernate , MOQ বা NUnit , পাছে আমি আপনার আঙুল কাটা")। সুতরাং একটি প্রতিষ্ঠিত ডিআই কনটেইনার ব্যবহার না করে আমি একটি অত্যন্ত সাধারণ ধারক লিখেছি। এটি মূলত আপনার সমস্ত নির্ভরতা শুরুর উপর নির্ভর করে, কোনও নির্ভরতা (কনস্ট্রাক্টর / সম্পত্তি) ইনজেক্ট করে এবং ওয়েব অনুরোধের শেষে কোনও নিষ্পত্তিযোগ্য বস্তু নিষ্পত্তি করে। এটি অত্যন্ত স্বল্প ওজনের ছিল এবং আমাদের যা প্রয়োজন ঠিক তা করেছে did এবং তারপরে আমি তাদের এটি পর্যালোচনা করতে বলেছিলাম।
প্রতিক্রিয়া
ভাল, এটি সংক্ষিপ্ত করা। আমার প্রচণ্ড প্রতিরোধের মুখোমুখি হয়েছিল। মূল যুক্তিটি ছিল, "আমাদের জটিলতার এই স্তরটি ইতিমধ্যে একটি জটিল প্রকল্পে যুক্ত করার দরকার নেই"। এছাড়াও, "আমরা উপাদানগুলির বিভিন্ন বাস্তবায়নে প্লাগ ইন করব এমনটি হয় না"। এবং "আমরা এটিকে সহজ রাখতে চাই, যদি সম্ভব হয় তবে সমস্ত কিছু এক সমাবেশে পূরণ করতে পারি। ডিআই হ'ল একটি লাভহীন জটিলতা"।
অবশেষে, আমার প্রশ্ন
আমার পরিস্থিতি আপনি কীভাবে সামলাবেন? আমি আমার ধারণাগুলি উপস্থাপনে ভাল নই এবং আমি কীভাবে লোকেরা তাদের যুক্তি উপস্থাপন করবে তা জানতে চাই।
অবশ্যই, আমি ধরে নিচ্ছি যে আমার মতো আপনিও ডিআই ব্যবহার করতে পছন্দ করেন। আপনি যদি রাজি না হন তবে দয়া করে কেন বলুন যাতে আমি মুদ্রার অন্য দিকটি দেখতে পারি। যার সাথে দ্বিমত রয়েছে তার দৃষ্টিভঙ্গিটি দেখতে সত্যিই আকর্ষণীয় হবে।
হালনাগাদ
প্রত্যেকের উত্তরের জন্য আপনাকে ধন্যবাদ। এটি সত্যই বিষয়গুলিকে দৃষ্টিকোণে রাখে। আপনাকে প্রতিক্রিয়া জানাতে চোখের আরও একটি সেট পেয়ে যথেষ্ট সুন্দর, পনেরটি সত্যিই দুর্দান্ত! এটি সত্যই দুর্দান্ত উত্তর এবং আমাকে বিভিন্ন পক্ষ থেকে সমস্যাটি দেখতে সহায়তা করেছে, তবে আমি কেবল একটি উত্তর চয়ন করতে পারি, তাই আমি শীর্ষে ভোট দেওয়া একটি বেছে নেব। উত্তর দেওয়ার জন্য সময় দেওয়ার জন্য সবাইকে ধন্যবাদ।
আমি সিদ্ধান্ত নিয়েছি যে এটি সম্ভবত ডিআই বাস্তবায়নের সেরা সময় নয় এবং আমরা এটির জন্য প্রস্তুত নই। পরিবর্তে, আমি নকশাকে পরীক্ষামূলক করে তোলা এবং স্বয়ংক্রিয় ইউনিট পরীক্ষার উপস্থাপনের প্রয়াসে মনোনিবেশ করব। আমি সচেতন যে রাইটিং টেস্টগুলি অতিরিক্ত ওভারহেড এবং যদি কখনও সিদ্ধান্ত নেওয়া হয় যে অতিরিক্ত ওভারহেডের মূল্য নেই তবে ব্যক্তিগতভাবে আমি এখনও এটি জয়ের পরিস্থিতি হিসাবে দেখতে পাব কারণ নকশা এখনও পরীক্ষামূলক। এবং যদি ভবিষ্যতে কখনও টেস্টিং বা ডিআইই পছন্দ হয় তবে ডিজাইনটি সহজেই এটি পরিচালনা করতে পারে।