সফটওয়্যার প্রকৌশলে সলিড বা SOLID হচ্ছে পাঁচটি নীতির সংক্ষিপ্ত রূপ। এই পাঁচটি নকশা নীতি অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং বোধগম্য, নমনীয় এবং সহজভাবে বোঝার জন্য ২০০০ সালের দিকে পরিচয় করিয়ে দেন রবার্ট চেচিল মার্টিন যিনি বব চাচা নামে বেশি জনপ্রিয়। [১][২][৩][২][৪](pp2-3)

সলিড নীতিসমূহ হচ্ছে

  • একক দায়িত্ব নীতি (Single responsibility)
  • খোলা-বন্ধ নীতি (Open–closed)
  • লিসকভ প্রতিস্থাপন নীতি (Liskov substitution)
  • ইন্টারফেস বিভাজন নীতি (Interface segregation)
  • নির্ভরতা বিপরীত নীতি (Dependency inversion)


সারসংক্ষেপ সম্পাদনা

প্রথম বর্ণ(ইংরেজি) নীতি(সংক্ষিপ রূপ) বর্ণনা
S এসআরপি
একক দায়িত্ব নীতি
একটি ক্লাস কিংবা বস্তুর শুধুমাত্র একটি দায়িত্ব থাকা উচিৎ এবং সেটি পরিবর্তনের জন্য একের অধিক কারণ থাকা উচিৎ নয়।[৫]
O ওসিপি
খোলা বন্ধ নীতি
সফ্টওয়্যার এনটিটি(ক্লাস, মডিউল, ফাংশন) সম্প্রসারণের জন্য খোলা থাকা উচিত কিন্তু পরিবর্তনের জন্য বন্ধ থাকতে হবে।[৬]
L এলএসপি
লিসকভ প্রতিস্থাপন নীতি
যদি একটি ক্লাস থেকে সাবক্লাস নেয়া হয় তাহলে সেই সাবক্লাসটি ঐ ক্লাসের অখন্ডতা রক্ষা করে প্রতিস্থাপনযোগ্য হতে হবে।[৭]
I আইএসপি
ইন্টারফেস বিভাজন নীতি
এমন পদ্ধতি প্রয়োগ করতে বাধ্য করা উচিৎ নয় যেটি ব্যাবহারকারী ব্যাবহার করবে না[৮][৪]
D ডিআইপি
নির্ভরতা বিপরীত নীতি
উচ্চ স্তরের মডিউলগুলি নিম্ন স্তরের মডিউলগুলির উপর নির্ভর করা উচিত নয়[৯][৪]

তথ্যসূত্র সম্পাদনা

  1. Martin, Robert C."Principles Of OOD"ButUncleBob.com। সেপ্টে ১০, ২০১৪ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০১৪-০৭-১৭ . (Note the reference to "the first five principles", although the acronym is not used in this article.) Dates back to at least 2003.
  2. Martin, Robert C. (১৩ ফেব্রু ২০০৯)। "Getting a SOLID start"Uncle Bob Consulting LLC (Google Sites)। সেপ্টে ১৭, ২০১৩ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০১৩-০৮-১৯ 
  3. Metz, Sandi (মে ২০০৯)। "SOLID Object-Oriented Design"YouTube। ২০২১-১২-২১ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০১৯-০৮-১৩  Talk given at the 2009 Gotham Ruby Conference.
  4. Martin, Robert C. (২০০০)। "Design Principles and Design Patterns" (পিডিএফ)objectmentor.com। Archived from the original on ২০১৫-০৯-০৬। 
  5. "Single Responsibility Principle" (পিডিএফ)objectmentor.com। Archived from the original on ২ ফেব্রুয়ারি ২০১৫। 
  6. "Open/Closed Principle" (পিডিএফ)objectmentor.com। Archived from the original on ৫ সেপ্টেম্বর ২০১৫। 
  7. "Liskov Substitution Principle" (পিডিএফ)objectmentor.com। Archived from the original on ৫ সেপ্টেম্বর ২০১৫। 
  8. "Interface Segregation Principle" (পিডিএফ)objectmentor.com। ১৯৯৬। Archived from the original on ৫ সেপ্টেম্বর ২০১৫। 
  9. "Dependency Inversion Principle" (পিডিএফ)objectmentor.com। Archived from the original on ৫ সেপ্টেম্বর ২০১৫।