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