SOLID ย่อมาจากชุดของหลักการพื้นฐานในการออกแบบซอฟต์แวร์ที่ใช้ในการสร้างระบบที่บำรุงรักษา ขยายได้ และยืดหยุ่น SOLID เป็นคำย่อที่เกิดจากอักษรย่อของหลักการทั้งห้านี้:
เอส- Single Responsibility Principle
ชั้นเรียนหรือโมดูลควรมีความรับผิดชอบเดียวเท่านั้น ซึ่งช่วยให้สามารถบำรุงรักษาและแก้ไขโค้ดได้ง่ายขึ้นโดยไม่ส่งผลกระทบต่อฟังก์ชันการทำงานอื่นๆ
โอ- Open/Closed Principle
รหัสควรเปิดสำหรับส่วนขยาย(เพิ่มคุณสมบัติใหม่) แต่ปิดเพื่อแก้ไข(ไม่แก้ไขรหัสที่มีอยู่) สิ่งนี้ส่งเสริมการใช้การสืบทอด อินเทอร์เฟซ หรือกลไกส่วนขยายอื่นๆ เพื่อเพิ่มคุณสมบัติใหม่โดยไม่ต้องแก้ไขโค้ดที่มีอยู่
แอล- Liskov Substitution Principle
ออบเจกต์ของคลาสย่อยต้องสามารถแทนที่ออบเจกต์ของคลาสพาเรนต์ได้โดยไม่กระทบต่อความถูกต้องของโปรแกรม สิ่งนี้ทำให้มั่นใจได้ว่าการสืบทอดนั้นถูกนำไปใช้อย่างปลอดภัยและถูกต้อง
ฉัน- Interface Segregation Principle
การมีอินเทอร์เฟซขนาดเล็กและเฉพาะเจาะจงจะดีกว่าอินเทอร์เฟซขนาดใหญ่ที่มีวิธีการมากมาย สิ่งนี้ช่วยหลีกเลี่ยงคลาสที่ถูกบังคับให้ใช้วิธีการที่ไม่จำเป็น
ดี- Dependency Inversion Principle
โมดูลระดับสูงไม่ควรขึ้นอยู่กับโมดูลระดับต่ำ ทั้งสองควรขึ้นอยู่กับสิ่งที่เป็นนามธรรม หลักการนี้ส่งเสริมการใช้การพึ่งพาการฉีดเพื่อลดการมีเพศสัมพันธ์ที่แน่นระหว่างโมดูล และทำให้ระบบง่ายต่อการทดสอบและขยาย
SOLID หลักการช่วยปรับปรุงโครงสร้างโค้ด ส่งเสริมความเป็นโมดูล และลดความเสี่ยงที่เกี่ยวข้องกับการเปลี่ยนแปลง หลักการเหล่านี้สามารถนำไปใช้กับภาษาการเขียนโปรแกรมและสภาพแวดล้อมการพัฒนาต่างๆ