Chapter 3 covers the fundamentals of software architecture with a focus on modularity. It discusses modularity as grouping related code logically rather than physically. Key metrics such as cohesion, coupling, and connaissance are explored to measure and maintain modularity. Cohesion is categorized from best to worst, including functional, sequential, and logical cohesion. Coupling is defined through afferent and efferent metrics. The chapter also highlights the importance of abstractness, instability, and the distance from the main sequence in software design. The concept of connaissance, including its types and properties, is introduced to handle module dependencies.

46m watch time
1 Comment

Sort: