How do you study GS design?
I'm programming Java for about six months.
Started studying with "Succe Java" from O REILLY, then read "Philosophia Java" Bruce Eckel. Then he tried his mobile design, studying a book from O'REILLY, The Android Programming. But the problem is that literature gives a technical understanding of the language is because it's a class that's a variable, a collection. This literature does not provide a clear understanding of how I should design my classes, which class contains fields such as making the class structure beautiful, so that the whole does not consist of one class of 3,000 flow.
For example, we'll take a decomposition of the game. How to design the programme properly? In my understanding, there should be a Deck class, the class of the best hat with an arbitrary name, Player class. But how do these classes be one in one? How to connect objects, how to encapsulate the logic to get rid of the recurrent code.
There's no need to mention the design paths. Because if there's a patterne, it doesn't mean we've got to put it anywhere. I'd like to create a proper programme architecture.
I'd like to know, how did you learn to design your program architecture?
To begin with, priorities need to be defined (without grading). 1 paragraph above the others)
- Choose a paradigm/technology. Lots of them. MVP, Reactive, functional style, etc.
- To understand what will happen with the code after the annex was issued, released and forgotten or continued development.
- How many people will be involved in the project. If one complains, it's one thing if a big team is different.
Then get a large notebook (A4 at the very time) and draw the top-level block-check of its application (lifehack pencil and straw). Then, for each block, it's a small scheme with details of implementation. Then burn to hell and start over. Change the paradigm/technology, if necessary. Repeat five times.