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