![Principles of Good Software Design](https://pentatech.com.au/wp-content/uploads/2023/12/Principles-of-Good-Software-Design-768x402.jpeg)
Modularity, cohesion, low coupling, abstraction/information hiding, and good separation of concerns collectively form the bedrock good software design.
![Synchronous vs Asynchronous for Temporal Decoupling](https://pentatech.com.au/wp-content/uploads/2023/11/Synchronous-vs-Asynchronous-for-Temporal-Decoupling-768x402.jpeg)
Temporal decoupling is one of the dimensions to think about when decoupling systems. Choosing the right approach involves understanding the properties we need.
![When to use a Micro Frontend Architecture](https://pentatech.com.au/wp-content/uploads/2023/08/When-to-use-a-Micro-Frontend-Architecture-768x402.jpeg)
Micro Frontends is an architectural style for building web apps by decomposing the UI into smaller, self-contained, and independently deployable modules.
![The subtle art of systems decoupling](https://pentatech.com.au/wp-content/uploads/2023/07/Screen-Shot-2023-07-12-at-5.49.40-pm-768x404.png)
Systems coupling has several dimensions. Hence, decoupling each aspect can take you in a different direction with conflicting trade-offs.