DEV Community

Discussion on: Please explain why I need software architecture

Collapse
 
patarapolw profile image
Pacharapol Withayasakpunt

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 :)...