การเขียนโปรแกรมเป็นการแสดงแนวคิดของเราในการแก้ไขปัญหา ถ้าลำดับของโปรแกรมเราเหมาะสม มีโครงสร้างที่เข้าใจง่าย จะทำให้การทำความเข้าใจโปรแกรมทำได้ง่าย การออกแบบโปรแกรมต้องเหมาะสมกับปัญหาหรือสิ่งที่ต้องการ และต้องเปิดกว้างพอที่จะรองรับความต้องการที่อาจจะมีมาในอนาคต โปรแกรมที่ถูกออกแบบมาดีนั้นหากต้องมีการเปลี่ยนแปลงเพียงเล็กน้อยจะไม่ส่งผลกระทบต่อสวนอื่นๆมากนัก สามารถนำกลับมาใช้ใหม่ได้ และบำรุงรักษาง่าย
รูปแบบของการเขียนโปรแกรมในแบบต่างๆ (code design pattern) เป็นแนวคิดในการเขียนโปรแกรมซึ่งไม่ได้ยึดติดกับภาษาโปรแกรมแบบใดแบบหนึ่ง เป็นรูปแบบที่ได้รับการยืนยันแล้วว่าเหมาะสมกับการแก้ปัญหาในรูปแบบต่างๆ ช่วยลดปัญหาที่อาจจะเกิดขึ้นตามมาได้ ดังนั้นการขียนโปรแกรมโดยใช้รูปแบบเหล่านั้นจึงช่วยให้เราพัฒนาโปรแกรมที่เหมาะสมกับความต้องการได้เร็วขึ้น และเป็นเหมือนภาษากลางที่จะช่วยอธิบายให้ผู้อื่นเข้าใจโปรแกรมเราได้ง่ายขึ้น ช่วยให้เราอธิบายสาเหตุของปัญหาหรือจุดมุ่งหมายของโปรแกรม วิธีการในการแก้ไข การใช้งานและผลลัพธ์หรือผลที่ตามมาของการใช้งาน เช่น หากเราต้องการสร้างคลาสที่ยอมให้สร้างออบเจกต์ได้เพียงออบเจกต์เดียว รูปแบบการเขียนโปรแกรมที่เหมาะสมคือ รูปแบบ Singleton หรือในกรณีที่เราต้องการปกปิดกระบวนการสร้างออบเจกต์ของกลุ่มออบเจกต์ที่สืบทอดกันมา เราจะใช้รูปแบบ AbstarctFactory เป็นต้น การเขียนโปรแกรมโดยใช้รูปแบบที่เหมาะสมแสดงให้เห็นว่าผู้พัฒนาโปรแกรมใส่ใจในการออกแบบโปรแกรมซึ่งโปรแกรมที่ออกแบบโดยใช้รูปแบบที่เหมาะสมจะง่ายต่อการทำความเข้าใจ
ข้อดีของการใช้รูปแบบของการเขียนโปรแกรมคือ
- รูปแบบของการเขียนโปรแกรมได้ถูกทดสอบและถูกใช้งานอย่างแพร่หลายแล้วว่าสามารถใช้งานได้กับปัญหาในแบบต่างๆ เราไม่จำเป็นต้องเสียเวลาในการคิดค้นอะไรของเราเองให้เสียเวลา
- รูปแบบของการเขียนโปรแกรมช่วยให้โปรรแกมที่เราเขียนยืดหยุ่นและง่ายต่อการบำรุงรักษามากขึ้น
- รูปแบบของการเขียนโปรแกรมช่วยให้เราพัฒนาโปแกรมได้เร็วขึ้น
- รูปแบบของการเขียนโปรแกรมเป็นเหมือนภาษากลางที่เราใช้อธิบายแนวคิดในการเขียนโปรแกรม
- รูปแบบของการเขียนโปรแกรมถูกใช้อย่างมากในการเขียน Java API และ framework
- เราสามารถทำความเข้าใจการทำงานของโปรแกรมที่เขียนโดยใช้รูปแบบของการเขียนโปรแกรมได้อย่างรวดเร็ว แทนที่จะต้องไล่อ่านโค๊ดทั้งหมด
อย่างไรก็ตาม บางครั้งการใช้รูปแบบของการเขียนโปรแกรมก็ทำให้เกิดความซับซ้อนโดยไม่จำเป็น ซึ่งอาจจะทำให้โปรแกรมทำงานได้ช้าลง ดังนั้นจึงต้องพิจารณาความเหมาะสมในการประยุกต์ใช้รูปแบบของการเขียนโปรแกรมด้วย