.
Reusability: มีโอกาสที่จะถูกใช้งานซ้ำๆได้มากกว่าเราสามารถนำมันไปใช้ในส่วนต่างๆของโปรแกรมโดยที่เราไม่ต้องกังวลเรื่อง dependency ที่ไม่จำเป็นของมันเพราะมันไม่มีไง Testing: เขียน Unit Test ง่ายมากเพราะมันเรียบง่ายและจะดีมากถ้าเราทำให้มันไม่มี side effect ได้ด้วย (เดี๋ยวกลับมาเล่าเรื่องนี้) Modularity: