DEV Community

Discussion on: Please explain why I need software architecture

Collapse
zoedreams profile image
☮️✝️☪️🕉☸️✡️☯️

To help mitigate anti design

Collapse
patarapolw profile image
Pacharapol Withayasakpunt Author

Is the said "anti design" an absolute indicator, that the project will fail, or just in some ways?

Collapse
reyadussalahin profile image
Reyad Salahin • Edited

@patarapolw

Mostly, in software design you'd hear about anti-patterns(I haven't seen anyone using the term anti-design). The things you've described(MVC, MVVM etc..) are actually software architectural patterns, simply design patterns. Design patterns have been invented to solve common software problems, but of course, they are not universal solutions(they have pros/cons and trade-off). And anti-pattern means such design pattern, that creates much more of a problem rather being a solution, though at first it seems to be a great solution. Such an example is singleton pattern. Actually, it's still encouraged in many cases, but single pattern causes a lot of problem in terms of code maintenance and testing.

Of course, you'd hear about software architectures too, such as monolithic architecture, microservices, service oriented achitecture i.e. soa(actually microservices is a kind of soa) etc...

It's always good to learn design patterns and software architectures...but take your time to understand and apply those :)...

Collapse
zoedreams profile image
☮️✝️☪️🕉☸️✡️☯️

Not necessarily. But it will make a project look amateur verses AAA.

When I interview I specially test others foe their ability to understand identity anx mitigate anti design. Anti design patterns are what causes bugs and technical debt.

This is. One of my favorites

en.m.wikipedia.org/wiki/Big_ball_o...

I high suggest learning and knowing to avoid these. They will make you a much better programmer.