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