বিষয়বস্তুতে চলুন

সলিড

উইকিপিডিয়া, মুক্ত বিশ্বকোষ থেকে

সফটওয়্যার প্রকৌশলে সলিড বা 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. 1 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. 1 2 3 Martin, Robert C. (২০০০)। "Design Principles and Design Patterns" (পিডিএফ)। objectmentor.com। ৬ সেপ্টেম্বর ২০১৫ তারিখে মূল থেকে আর্কাইভকৃত।
  5. ↑ "Single Responsibility Principle" (পিডিএফ)। objectmentor.com। ২ ফেব্রুয়ারি ২০১৫ তারিখে মূল থেকে আর্কাইভকৃত।
  6. ↑ "Open/Closed Principle" (পিডিএফ)। objectmentor.com। ৫ সেপ্টেম্বর ২০১৫ তারিখে মূল থেকে আর্কাইভকৃত।
  7. ↑ "Liskov Substitution Principle" (পিডিএফ)। objectmentor.com। ৫ সেপ্টেম্বর ২০১৫ তারিখে মূল থেকে আর্কাইভকৃত।
  8. ↑ "Interface Segregation Principle" (পিডিএফ)। objectmentor.com। ১৯৯৬। ৫ সেপ্টেম্বর ২০১৫ তারিখে মূল থেকে আর্কাইভকৃত।
  9. ↑ "Dependency Inversion Principle" (পিডিএফ)। objectmentor.com। ৫ সেপ্টেম্বর ২০১৫ তারিখে মূল থেকে আর্কাইভকৃত।