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