ซึ่งนำเข้ามายังศูนย์กลาง
หากบางสิ่งบางอย่างใช้สิ่งของต่าง ๆ จำนวนมาก (ข้อต่อ afferent จำนวนมาก) ก็อาจเป็นไปได้ที่จะทำลายหากสิ่งเหล่านั้นเปลี่ยนแปลง
ความไม่แน่นอน = 1
ที่นำออกจากศูนย์กลาง
หากมีบางสิ่งถูกใช้โดยกลุ่มของสิ่งต่าง ๆ (ข้อต่อที่มีจำนวนมาก) ก็อาจเป็นไปได้ที่จะทำลายสิ่งต่าง ๆ มากมายหากมีการเปลี่ยนแปลง
ความไม่แน่นอน = 0
ความมั่นคง
คำจำกัดความของมาร์ตินเรื่อง "ความมั่นคง" เป็นการผสมผสานที่แปลกใหม่ระหว่าง "ยากที่จะเปลี่ยนแปลง" และ "ไม่มีเหตุผลที่จะเปลี่ยนแปลง" แต่ตัวชี้วัดความไม่แน่นอนของเขาเพียงอธิบาย "ความยากลำบากในการเปลี่ยนแปลง" "เหตุผลในการเปลี่ยนแปลง" จะมีมากขึ้นเกี่ยวกับปัจจัยที่ไม่สามารถคำนวณได้ง่ายเช่นเพียงแค่ออกแบบส่วนต่อประสานของคุณอย่างเหมาะสมในระดับที่เป็นนามธรรมและเข้าใจความต้องการของผู้ใช้อย่างชัดเจน
ดังนั้นการมีเพศสัมพันธ์ที่มีประสิทธิภาพสูงและการมีเพศสัมพันธ์ต่ำจะทำให้เกิดความมั่นคง (ในบางสิ่งที่ยากที่จะเปลี่ยนแปลงเพราะมันจะทำให้สิ่งของแตกต่างกัน) สิ่งที่ตรงกันข้ามจะทำให้เกิดความไม่แน่นอน (ในสิ่งที่ง่ายต่อการเปลี่ยนแปลง .
ข้อต่อข้อต่อจำนวนมากอาจเป็นตัวบ่งชี้ว่าการออกแบบของคุณไม่มีความสำคัญ - มันใช้สิ่งต่าง ๆ มากมายดังนั้นมันอาจจะขาดความรับผิดชอบที่ชัดเจนและเป็นเอกเทศ
ข้อต่อที่มีพลังออกมาจำนวนมากสามารถตีความได้ว่าเป็นสิ่งที่ดีจริงๆในตอนแรกเนื่องจากมันบ่งบอกว่าการออกแบบของคุณกำลังถูกใช้อย่างกว้างขวาง แต่นั่นจะไม่ดีถ้าคุณรู้สึกอยากที่จะเปลี่ยนการออกแบบบ่อยครั้งในวิธีที่ทำลายทุกสิ่ง ดังนั้นด้วยข้อต่อที่มีประสิทธิภาพจำนวนมากจึงจำเป็นต้องมีแพ็คเกจดังกล่าวเพื่อให้มี "เหตุผลน้อยหรือไม่มีเหตุผลที่จะเปลี่ยนแปลง" การออกแบบควรมีความมั่นคงในแง่ที่ดีโดยไม่มีเหตุผลในการเปลี่ยนแปลงเนื่องจากพวกเขาจะยากที่จะเปลี่ยนแปลงเช่นเดียวกัน
หลักการบทคัดย่อที่เสถียร
แนวคิดเช่นการพึ่งพาการกลับกัน (ซึ่งโดยธรรมชาติเรียกว่าการฉีดพึ่งพา) และ SAP (หลักการ abstractions ที่มีเสถียรภาพ) ทั้งหมดแนะนำว่าการพึ่งพาการไหลเข้าสู่ abstractions และมีเหตุผลง่ายๆว่าทำไมเมื่อพิจารณาถึง "ความมั่นคง" ในบริบทของการมี "เหตุผลสองสามประการที่จะเปลี่ยนแปลง" อินเทอร์เฟซแบบนามธรรมกล่าวถึงรายละเอียดที่เป็นรูปธรรมไม่ได้ แต่จะเน้นที่ "สิ่งที่ต้องทำ" แทนที่จะเป็น "สิ่งต่าง ๆ " และมีเหตุผลที่จะเปลี่ยนแปลงน้อยลง พอร์ตกราฟิกเร่งความเร็วบนเมนบอร์ดของเรา (อินเทอร์เฟซแบบนามธรรม) มีเหตุผลน้อยกว่าที่จะได้รับการเปลี่ยนแปลงการออกแบบกว่า GPU ที่เสียบเข้ากับมัน (รายละเอียดที่เป็นรูปธรรม)
การใช้ซ้ำได้กับการใช้ซ้ำ
ตัวชี้วัดส่วนบุคคลของฉันเองถ้าฉันสามารถแนะนำสิ่งที่ค่อนข้างขัดแย้งกับ Martin เป็นแนวคิดที่ฉันต้องการผลักดันให้ห้องสมุดที่ใช้ซ้ำได้ส่วนใหญ่ควรพยายามนำโค้ดอื่นมาใช้ให้เกิดประโยชน์น้อยที่สุด สิ่งนั้นผลักความไม่มั่นคงให้กับ 0 ที่หนักหน่วงสำหรับเหตุผลเชิงปฏิบัติของการมีเหตุผลขั้นต่ำในการเปลี่ยนแปลง แต่ยังเพื่อส่งเสริมห้องสมุดที่ง่ายที่สุดในการปรับใช้ ไลบรารีอเนกประสงค์ที่ใช้กันอย่างแพร่หลายซึ่งขึ้นอยู่กับห้องสมุดที่แตกต่างกันหลายสิบแห่งมีเหตุผลมากมายที่จะเปลี่ยนเช่นเดียวกับการแจกจ่ายที่รวมกันอย่างงุ่มง่ามซึ่งยากต่อการปรับใช้ ความแตกต่างที่นี่ก็คือ "เหตุผลในการเปลี่ยนแปลง" ในกรณีของฉันขยายไปถึงการนำไปใช้เนื่องจากมันมาจากมุมมองที่มุ่งเน้นไปที่ไลบรารีที่พยายามจะปล่อยไลบรารีที่มีความเสถียร มาร์ตินอาจลดการใช้งานเป็นส่วนแยกมาก
จากมุมมองของการแจกจ่ายการติดตั้งและการใช้งานร่วมกันทำให้เกิดการพึ่งพาของผู้ใช้ไปยังไลบรารีที่เสถียรหรือไม่เสถียร จากมุมมองอินเตอร์เฟสจะใช้เฉพาะอินเตอร์เฟสและรายละเอียดการใช้งานที่เกี่ยวข้องนั้นแยกจากกันโดยสิ้นเชิง