The Influence of Maven Principle on Modern Application Architecture

If design patterns were the atoms of software architecture, design principles are the molecules or even compounds. When gang-of-4 (“Design Patterns: Elements of Reusable Object-Oriented Software”) design patterns were published first-time in 1994, software architecture was not so complex. Over the years, a lot of modifications and enhancements were suggested to the foundational patterns in the book and I always found those attempts sacrilegious. It would be obvious why I felt that way, once I discuss the design principles.

The Design Principles: virtues of the modern application architecture

  1. The Git Principle
  2. The Maven Principle
  3. The Principle of Immutability

What is striking about the first two principles is that they are not abstract in form but are the side-effects of the disruptive technologies and frameworks, I have named them after. These technologies were created to revolutionize source-code control and build respectively but have completely mutated the DNA of every modern application framework and technology which have come after them.

Since I have written a lot about Git Principle, In this blog, I am going to focus on Maven Principle and how long the shadow it casts.

The Maven Principle

  1. Declarative Dependency Management
  2. Convention Over Configuration

Declarative Dependency Management

Modern Infrastructure-as-code tools have internalized this principle and leading products like Terraform only use the declarative patterns for artifacts.

Convention Over Configuration

Summary

This post was created with Typeshare

--

--

This blog is mostly around my cloud-native & Environments-as-a-Service (EaaS) technology insights. I would throw some crypto wisdom here and there.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Rishi Yadav

This blog is mostly around my cloud-native & Environments-as-a-Service (EaaS) technology insights. I would throw some crypto wisdom here and there.