03. Architecture we will use in this workshop
Advanced Layered Architecture
What is Layered Architecture
เป็นการจัดการแยกโค้ดให้เป็นส่วนๆ แบ่งเป็นชั้นๆ บน ลง ล่าง
มาดูภาพกันเลยดีกว่า
โดยชั้นบนจะเข้าถึงการชั้นล่างได้ เรียก function ของชั้นล่างได้ แต่ห้ามชั้นล่างจะเข้าถึงชั้นบน
เราจะวางโครงสร้างของ folder เป็นแบบนี้
Why
เราจะใช้ Advanced Layered Architecture ในการทำ Backend ของเราใน workshop นี้ เพราะว่า
- ในอนาคตเราจะไม่ได้ทำแค่ basic project จะต้องเจอโปรเจคที่มีความซับซ้อนมากๆ
- เข้าใจได้ง่ายกว่า Clean Architecture
- ต่อยอดไปใช้ Clean Architecture ได้ง่ายขึ้น
- เรายังไม่ได้ต้องการความคล่องตัวเท่ากับการใช้ Clean Architecture
- single database
- I’m not master for Clean Architecture yet