Skip to content

SOLID Principles (সলিড প্রিন্সিপাল)

SOLID হলো পাঁচটি ডিজাইন প্রিন্সিপাল যা সফ্টওয়্যার ডিজাইনকে আরও ফ্লেক্সিবল, স্কেলেবল এবং মেইনটেইনেবল করে।


১. S - Single Responsibility (SRP)

একটি ক্লাসের শুধুমাত্র একটি নির্দিষ্ট কাজ থাকতে হবে। একাধিক দায়িত্ব একটি ক্লাসে রাখা যাবে না।

২. O - Open/Closed (OCP)

সফ্টওয়্যার এনটিটি (ক্লাস, মডিউল) নতুন ফিচার যোগ করার জন্য ওপেন থাকবে, কিন্তু তার অভ্যন্তরীণ কোড পরিবর্তন করার জন্য ক্লোজ থাকবে।

৩. L - Liskov Substitution (LSP)

একটি প্যারেন্ট ক্লাসের অবজেক্টকে তার চাইল্ড ক্লাসের অবজেক্ট দিয়ে রিপ্লেস করা সম্ভব হতে হবে, যেন প্রোগ্রামের কোনো লজিক ভেঙে না যায়।

৪. I - Interface Segregation (ISP)

ইউজারকে এমন কোনো ইন্টারফেস ব্যবহার করতে বাধ্য করা উচিত নয় যা তার প্রয়োজন নেই। বড় ইন্টারফেসের বদলে ছোট এবং নির্দিষ্ট ইন্টারফেস ব্যবহার করা ভালো।

৫. D - Dependency Inversion (DIP)

হাই-লেভেল মডিউলগুলো লো-লেভেল মডিউলের ওপর সরাসরি নির্ভর করবে না; উভয়েই অ্যাবস্ট্রাকশনের ওপর নির্ভর করবে।


কেন শিখবেন?

  • কোড রিইউজেবিলিটি বাড়ে।
  • বাগ ফিক্স করা সহজ হয়।
  • বড় টিমে কাজ করার সময় কনফ্লিক্ট কমে।

TIP

প্রিন্সিপালগুলো প্রথমবার শুনে কঠিন মনে হতে পারে, কিন্তু রিয়েল কোডে ইম্প্লিমেন্ট করলে এগুলো আপনার কোডিং স্টাইলকে বদলে দেবে।

Released under the MIT License.