Control Hierarchy และ Fan-in กับ Fan-out คือ อะไร ?

คำนี้ผมเพิ่งได้ยินจากจากการเรียนปริญญาโทครับ โดยในคาบเรียบอาจารย์ให้แบ่งกลุ่ม และลองศึกษา Keyword ต่างๆ ประมาณ 20 นาที แล้วมานำเสนอครับ ของกลุ่มผมมี 3 คำครับ (เดี๋ยวมาอธิบายต่อไปเลย) Control Hierarchy คือ อะไร ? เป็นแผนภาพที่แสดงโครงสร้างของระบบ โดยมองในมุมของ Components (ผมเข้าใจว่ามองลงได้ถึงในระดับ Class/Method ได้นะ) ว่ามี Components มีความสัมพันธ์กับ Module อื่นๆ อย่างไร จากแผนภาพตรงนี้ เรามาค้นหาความสัมพันธ์ที่ซ่อนในโครงสร้างนี้กัน Fan-in & Fan-out คือ อะไร ? – ความหมาย – ทำไมต้องมาดู Fan-in & Fan-out หละ ให้ Code มัน Maintain ได้ง่ายไง – แล้วที่ดี คือ อะไร ? ส่วนใหญ่จะเน้น High fan-in & Low fan-out Structure Type พอเราดูสิ่งที่ค้นพบจาก Control Hierarchy ต่อมาเป็นการจัดการโครงสร้างกัน ว่าเราจะบริหารแบบไหน สำหรับผมมองว่าเรื่อง Control Hierarchy + Fan-in & Fan-out เป็นตัวช่วยหนึ่งที่ทำให้เราไม่ออกแบบระบบ โดยไปยึดติดกับ Keyword ต่างๆ จากมากเกินไปครับ เช่น Coupling หรือ Cohesion Reference