DEV Community

David Johnston
David Johnston

Posted on

3

What do you call modern (frontend?) dependency architecture?

If I google 'dependency architecture' I get a bunch of results like this one, which has either this circle model:

Alt Text

Or this n-tier layered one. (To be fair, the source of this image is criticising this approach for not supporting dependency injection).

Alt Text

It seems to me that these diagrams are more relevant to conventional monoliths, where you seperate out your data access logic, your application logic, your frontend logic.

However, I'm thinking about in the context of microservices, and modern SPAs where there's a lot more logic happening on the frontend.

This talk by Monica Lent, where she's talking specifically about frontend architecture is what I have in mind.

Any suggestions, new key words to google? Or is the onion/n-tier architecture just are relevant to microservices and SPAs?

AWS GenAI LIVE image

Real challenges. Real solutions. Real talk.

From technical discussions to philosophical debates, AWS and AWS Partners examine the impact and evolution of gen AI.

Learn more

Top comments (1)

Collapse
 
jkhaui profile image
Jordy Lee

There's a couple of great books I'd recommend regarding software architecture:

  • clean architecture by Robert c. Martin;
  • software architect's handbook by Joseph ingengo

I believe the architecture/pattern most commonly associated with modern SPAs is MVVM (model-view view-model). This architecture represents the typical thick client SPA, where actions from the view are received by the view-model, which in turn updates the application's state and propagates these updates back to the view layer

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay