TNG / ArchUnit

A Java architecture test library, to specify and assert architecture rules in plain Java
http://archunit.org
Apache License 2.0
3.25k stars 299 forks source link

Are there any standards exist or emerging on architectural best practices #943

Open nagkumar opened 2 years ago

nagkumar commented 2 years ago

Are there any architectural best practices standards pushed by any common industry body, or is #archunit considering to drive such initiative, as we do see the architecture is the key component of any cloud-scale saas products?

Once standards come in hope IDE support can be much better with such standards' popularity.

942

codecholeric commented 2 years ago

The problem for me is that I'm not sure there are "the" best practices. I feel in many cases it depends on the circumstances, how many teams/people are working on the code base, how does the domain look like (very important!), what experience level, etc.

There are some things I would consider best practices i.g., like no cyclic dependencies between components. Such cases we already capture with the slices rule. Or we provide common stereotypes like layered architecture or onion architecture to make it easier to follow an established pattern once you have decided it's the right choice for your application.

Beyond that there might be best practices with regards to frameworks maybe, like "a standard Spring MVC service" might have some technical rules that should i.g. be satisfied. Or things like Moduliths that help you to create a modular Spring monolith. But I don't see ArchUnit as driver for these projects, but more as facilitator. We provide one tool that is open source, somebody else can build on top of it. Of course I'm interested to follow developments though and provide support where I can :slightly_smiling_face:

I don't know if you have any further standards in mind that i.g. make sense for all (or a big enough subset of) applications out there?