SOLID সফ্টওয়্যার ডিজাইনের মৌলিক নীতিগুলির একটি সেট বোঝায় যা রক্ষণাবেক্ষণযোগ্য, এক্সটেনসিবল এবং নমনীয় সিস্টেম তৈরি করতে ব্যবহৃত হয়। SOLID এই পাঁচটি নীতির প্রাথমিক অক্ষর দ্বারা গঠিত একটি সংক্ষিপ্ত রূপ:
এস- Single Responsibility Principle
একটি ক্লাস বা মডিউলের শুধুমাত্র একটি একক দায়িত্ব থাকা উচিত। এটি অন্যান্য কার্যকারিতা প্রভাবিত না করে কোডের সহজ রক্ষণাবেক্ষণ এবং পরিবর্তনে সহায়তা করে।
ও- Open/Closed Principle
কোড এক্সটেনশনের জন্য উন্মুক্ত হওয়া উচিত(নতুন বৈশিষ্ট্য যোগ করা) কিন্তু পরিবর্তনের জন্য বন্ধ(বিদ্যমান কোড পরিবর্তন না করা)। এটি বিদ্যমান কোড পরিবর্তন না করেই নতুন বৈশিষ্ট্য যোগ করার জন্য উত্তরাধিকার, ইন্টারফেস বা অন্যান্য এক্সটেনশন প্রক্রিয়া ব্যবহারকে উৎসাহিত করে।
এল- Liskov Substitution Principle
প্রোগ্রামের সঠিকতাকে প্রভাবিত না করেই একটি সাবক্লাসের অবজেক্টগুলিকে প্যারেন্ট ক্লাসের অবজেক্টের জন্য প্রতিস্থাপনযোগ্য হতে হবে। এটি নিশ্চিত করে যে উত্তরাধিকার নিরাপদে এবং সঠিকভাবে প্রয়োগ করা হয়েছে।
আমি- Interface Segregation Principle
অনেক পদ্ধতি সহ একটি বড় ইন্টারফেসের পরিবর্তে ছোট এবং নির্দিষ্ট ইন্টারফেস থাকা ভাল। এটি ক্লাসগুলিকে অপ্রয়োজনীয় পদ্ধতি প্রয়োগ করতে বাধ্য করা এড়াতে সহায়তা করে।
ডি- Dependency Inversion Principle
উচ্চ-স্তরের মডিউলগুলি নিম্ন-স্তরের মডিউলগুলির উপর নির্ভর করা উচিত নয়। উভয় বিমূর্ততা উপর নির্ভর করা উচিত. এই নীতিটি মডিউলগুলির মধ্যে টাইট কাপলিং কমাতে এবং সিস্টেমটিকে পরীক্ষা এবং প্রসারিত করা সহজ করতে নির্ভরতা ইনজেকশন ব্যবহারকে উত্সাহিত করে।
SOLID নীতিগুলি কোড গঠন উন্নত করে, মডুলারিটি প্রচার করে এবং পরিবর্তনের সাথে যুক্ত ঝুঁকি কমায়। এই নীতিগুলি বিভিন্ন প্রোগ্রামিং ভাষা এবং উন্নয়ন পরিবেশে প্রয়োগ করা যেতে পারে।