อะไรคือ DRY, KISS, SOLID และอื่น ๆ


58

รูปแบบการออกแบบวิธีการหรือสิ่งที่อยู่ระหว่างนั้นเป็นอย่างไร พวกเขาไม่ได้มีการใช้งานเฉพาะที่สามารถแสดงให้เห็นถึงความจำเป็น (แม้ว่าคุณจะสามารถแสดงให้เห็นถึงกรณีที่ไม่ได้ใช้สิ่งที่ต้องการเช่น KISS ... ดูWTF รายวันสำหรับตัวอย่างมากมาย) และพวกเขาอธิบายกระบวนการพัฒนาอย่างเต็มที่เช่นระเบียบวิธี โดยทั่วไปจะ สิ่งนี้จะทำให้ "กฎของหัวแม่มือ" ประเภทนี้อยู่ที่ไหน


20
DRY SOLID KISS ... ฉันไม่รู้ว่านั่นจะทำให้การออกแบบซอฟต์แวร์น่าดึงดูดยิ่งขึ้นหรือน้อยลง ...
FrustratedWithFormsDesigner

11
คำย่อ? (ยิ้มวิ่งและเป็ด)
Warren P

2
@Warren P: นั่นกลายเป็นผู้ที่จบแล้ว ... อืม ...
FrustratedWithFormsDesigner

1
DRY & SOLID KISS ดีกว่าเสียง
แฉ่

การตลาดส่ง buzzwords
Emilio Garavaglia

คำตอบ:


98

ตามวิกิพีเดียมันเป็นหลักการของการพัฒนาซอฟต์แวร์

ในความเป็นจริง Wikipedia อ้างถึงหลักการทั้งหมด:

แห้ง :

ในด้านวิศวกรรมซอฟต์แวร์ Don't Repeat Yourself (DRY) หรือ Duplication is Evil (DIE) เป็นหลักการของการพัฒนาซอฟต์แวร์

จูบ :

KISS เป็นตัวย่อสำหรับหลักการออกแบบ "ทำให้เรียบง่ายโง่!"

ของแข็ง :

หลักการเมื่อนำมาใช้ร่วมกันมุ่งมั่นที่จะทำให้มันมีแนวโน้มว่าเป็นโปรแกรมเมอร์ที่จะสร้างระบบที่ง่ายต่อการรักษาและขยายช่วงเวลา


มีผู้ใดกวดวิชาที่ดีกับตัวอย่างที่จะช่วยให้เข้าใจเกี่ยวกับวิธีการใช้รูปแบบการออกแบบเหล่านี้ ...
Krunal

2
รูปแบบการออกแบบนั้นแตกต่างกัน ดังที่คำตอบระบุไว้นี่คือหลักการที่ควรนำคุณในการออกแบบและพัฒนาในแต่ละวัน สำหรับตัวอย่างและแบบฝึกหัดมีอยู่มากมายในเว็บ นี่คือตัวอย่างหนึ่ง: blog.gauffin.org/2012/05/11/…
Jonn

1
ตรงกันข้ามกับ DRY ก็คือ "WET": เขียนทุกอย่างสองครั้ง
Dr Rob Lang

17

ผมบอกว่าพวกเขากำลังพื้นฐานทางวิศวกรรมหลักการ

วิธีการสามารถมีหลักการn

และพวกเขาไม่ได้ออกแบบรูปแบบแน่นอน :)


6

นี่คือแนวทางสำหรับการทำงานประจำวันของคุณข้ามขอบเขตของเลเยอร์โดเมนปัญหาและเทคโนโลยี

พวกเขายังก่อให้เกิดสิ่งที่คุณเรียกว่าปรัชญาที่กำหนดแนวปฏิบัติวิชาชีพของคุณ


และพวกเขาไม่จำเป็นต้องใช้เพียงกับการพัฒนาซอฟต์แวร์ - ดี ok, SOLID จริงๆเท่านั้นนำไปใช้ในการพัฒนาซอฟแวร์ แต่อีกสองคนทั่วไปมากและสามารถนำมาใช้เป็นอิสระจากอุตสาหกรรมที่เฉพาะเจาะจงใด ๆ !
FrustratedWithFormsDesigner
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.