Standard Post with Image

วิธีการออกแบบเพื่อลดการซับซ้อนของ software

ควรออกแบบให้เป็น Layer และ แต่ละ Layer ควรกำหนดจุดประสงค์ให้ชัดเจน ภาพจากหนังสือ  https://www.amazon.com/Grokking-Simplicity-software-functional-thinking/dp/1617296201 จากภาพด้านบนเราควรจะกำหนดวัตถุประสงค์ของแต่ละ layer ให้ชัดเจน และ call graph ก็ไม่ควรจะยุ่งเหยิง หรือมีลูกศรที่ข้าม layer   และใน layer เดียวกันก็ไม่ควรจะมีที่เรียกกันเอง  ( ถ้า function นั้นๆ เรียก function ใน layer เดียวกัน function นั้นก็ต้องอยู่บน layer ที่สูงกว่า ) 

Read More