[The Golden Rule to choose a good Architecture] — The Duty of the Developer As A Professional #5

Abderrahim Benmakhlouf
3 min readJan 7, 2020

FRENCH VERSION: [La règle d’Or pour bien choisir son Architecture] — The Duty of the Developer As A Professional #5

Hi Re-Programmerz!

A new article of our series The Duty of The Developer as a Professional. This time, with Mohammed HIMOUD and Linh NGUYEN, we will reveal the Golden Rule to choose a good Architecture!

If I ask you what is, according to you, the best Architecture?

Some will directly answer:

“MVC, MVVM, VIPER/VIP, MVP etc…”

Ok. And why ? — Hmm…because…

“Adopted or/and backed by a well-known Company X…”

“I get used to working with it…”

“I do not know any other…”

“My Tech Lead recommended this to me…”

“…”

Others will be evasive and ambiguous :

“Its depends on the project size…”

“I have no preferences :) ”

The choice of Architecture is very important because it is the primordial step before starting a project or even starting the first line of code.

The Golden rule for a Professional Developer, in order to reach the best Architecture, is to base his reflexion/code on principles.

What are those principles ?

S.O.L.I.D is an acronym of the five principles representing the backbone of Object-Oriented Design (OOD) and Object-Oriented Programming (OOP), introduced in the early 2000's by Robert Martin (also known as Uncle Bob), and Michael Feathers.

we consider Uncle Bob as our mentor :)

The five principles are the following:

  • Single Responsibility Principle (SRP)
  • Open Closed Principle (OCP)
  • Liskov Substitution Principle (LSP)
  • Interface Segregation Principle (ISP)
  • Dependency Inversion Principle (DIP)

How do S.O.L.I.D principles help Professional Developer ?

S.O.L.I.D principles allow us to have a Design, an Architecture and especially a Code :

  • Comprehensive
  • Testable
  • Flexible
  • Homogenous
  • Maintainable

S.O.L.I.D principles is an excellent and important metric to take in consideration in order to lead ourselves toward quality code.

Moreover, these match, work in harmony and seamlessly with Agile methodology because S.O.L.I.D principles are made for Responding to change.

Our articles about the five S.O.L.I.D Principles

Coming Soon… :

  • [Liskov Substitution Principle] — The Duty of the Developer As A Professional #8
  • [Interface Segregation Principle] — The Duty of the Developer As A Professional #9
  • [Dependency Inversion Principle] — The Duty of the Developer As A Professional #10

Conclusion

S.O.L.I.D principles play a significant role in the Object-Oriented Design (OOD) and Object-Oriented Programming (OOP) and rule the world of the Professional Developers.

Clearly, every Developer, would have to take time to study and apply them in their projects.

Fun Fact

The S.O.L.I.D letters were not initially in this order until later when Michael Feathers re-ordered them to form this well-suited and awesome word.

We hope that you learned something today with this article ! Give us claps if you liked it :)

--

--

Abderrahim Benmakhlouf

 iOS Tech Lead Developer — Professional developer — Extreme programming (XP) Never ship shit