Answer the question
In order to leave comments, you need to log in
What to read about the correct design of your applications?
Hello. There was such a problem that there is no understanding of how to build your applications correctly. At the moment, I started to study Yii, everything is going well, but it is not very clear how best and where to apply the framework tools, how to organize the project as a whole. This applies not only to the framework, but also to programming in general, since it is also not clear which patterns and templates to use. And actually the question is, maybe there is some kind of book or some kind of set that will tell you exactly how to organize all this? Maybe you need to dig towards software design? Or look somewhere else? Maybe there are some guides? I will be grateful for your answers
UPD
Thank you all for your answers and recommendations!
Extract from answers and comments:
Answer the question
In order to leave comments, you need to log in
I think it makes sense to note that, regardless of the framework itself as an application tool, Yii is not the best candidate for mastering the correct design of your applications ...
In general, if you want to better understand design patterns, you can take any good book on this topic (those Gang of Four , Martin Fowler ( in Russian ), etc., the link suggested by Yaroslav also looks quite worthy), to study, and then try to find these patterns in the code of popular and well-written projects.
I'm somewhat biased, but I can recommend Symfony and Doctrine as starting points. For example, the same Doctrine directly implements a whole layer of patterns described by Fowler. Symfony is much more diverse, there are many different solutions.
Studying the implementation of patterns within specific implementations will allow you, on the one hand, to better understand the patterns themselves, and on the other hand, to better understand how rather complex projects work from the inside, this will allow you to use them themselves and, more importantly, their ideas embedded in your own code .
"Clean Architecture" by Robert Martin is a must have for understanding how best to approach the issue of dividing an application into logical layers.
In addition to above.
Perhaps you, as a beginner, will not understand much of what is being offered to you. But initially, just look at good projects, how they are arranged and how good developers build their applications. First of all, the code should be readable like a book and without documentation. Folders should be understandable. I have already answered a similar question on this topic before. Perhaps this will be useful:
Application architecture. How to make independent modules (services)?
Fowler has several other books in addition to those listed. Including "Architecture of enterprise software applications"
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question