Layered Software Architecture (Part 1 of N)

There are different architecture patterns like MVC , MVP or MvvM but I’m convince that it’s required more artefacts to build a good Software Architecture.

Do you think if it’s enough just applying any of the previous patterns to build a good Software Architecture ?

mvc_mvp_mvvm_

MVC , MVP or MvvM are architecture patterns to structure code and those patterns was common has been used by Developers with experience to reduce the coupling between layers.

For example:

if a Developer was working in a product with technology related with Xaml like WPF and it wasn’t implemented MvvM for sure the code will be probably couple to the UI and not well structured.

By the way I’m sure using any of that patterns does not guarantee a successful architecture because ….

There are MVC WebApp where it has directly access to the database from the web project and I’m quite convince that this is not a good solution.

mvc_mvp_mvvm.png

Do you think it should be mandatory add an extra Software layers apart to use any of the pattern MVC , MVP or MvvM ? And of course remove the connection to the database from the web project.

I think it’s necessary implement at least a simple Software Architecture layers similar than we can see in the image bellow

simple_Architecture_Layers

There are different reasons why it should be done a good Software Architecture Layers in order to reduce coupling or don’t violate the single responsibility principle and other more reasons.

Of course there are other different ways to split in layers so please share with me which composition do you like 😉

One Reply to “Layered Software Architecture (Part 1 of N)”

Leave a Reply to jecaestevez Cancel reply

Your email address will not be published. Required fields are marked *