5 principles of software architecture

5 principles of software architecture
Average rating: 0
(0 votes)

When creating an application, you shouldn’t neglect software architecture. It’s really important to pay attention to all possible details and remember the basic rules that will make your work smooth and result in a quality product. That’s why today’s article is going to tell you 5 principles of software architecture that will explain how the software should be maintained.

We selected 5 main principles that our dedicated developers keep in mind when working on the application:

1. Separation of concerns (SoC): it means that you need to separate your application into sections with its separate concern. We are separating their roles and responsibilities.

2. Single Responsibility principle: Every system capability answers only one single question and has the responsibility of only one functionality.

3. Principle of Least Knowledge: Every module has only limited knowledge about other modules. This helps n applications with multiple layers.

4. Open-closed principle: You are extending a module behavior, without trying to modify it. Here you need to understand which changes need to be made in the future.

5. Principle of minimizing upfront design: You create the only necessary design.  If your application requirements are uncertain, you should avoid making a big design. This principle is sometimes called YAGNI (“You ain’t gonna need it”).

Interested in finding out more? Read this material that can help you in getting deeper into the topic.

Syndicode also provides Infrastructure-as-a-Service if you’re interested!

Rate this article, if you like it

Thanks! You’ve rated this material!

Got a project? Let's discuss it!

*By submitting this form you agree with our Privacy Policy.

Mailing & Legal Address

Syndicode Inc. 340 S Lemon Ave #3299, Walnut CA, 91789, USA

Visiting & Headquarters address
Kyiv Sofiivska 1/2a, 01001, Kyiv, Ukraine
Dnipro Hlinky 2, of. 1003, 49000, Dnipro, Ukraine
Email info@syndicode.com
Phone (+1) 9035021111