T
T
Timur Sergeevich2015-10-12 09:00:48
Java
Timur Sergeevich, 2015-10-12 09:00:48

How to think about the architecture of a java application?

How to learn to think over the application architecture correctly?
That is, which classes are needed by the application, which are superfluous.
Can you recommend a textbook?

Answer the question

In order to leave comments, you need to log in

3 answer(s)
A
aol-nnov, 2015-10-12
@aol-nnov

> Can you recommend some textbook?
google://java design patterns

A
Alexey Cheremisin, 2015-10-12
@leahch

Why bother thinking about it? We write a class, we write 10 more. Oh! Then we start the package! Oh, 10 more bags. Something went wrong... Refactoring - Martin Fowler chuckles viciously.
More refactoring, more and more.... Icon - Martin Fowler.
Customers are in a trance, developers too... And we are all refactoring and refactoring..
(sarcasm)
But the application still needs a structure.
1) Start with a problem statement
2) Then define the architecture of the application
3) Determine how this architecture will expand
4) Start writing
5) Well, if it doesn’t work out, refactor
6) Close the project - it’s useless ...
Oh, well, I forgot about tests. And they can be refactored too.
Agile Way to Hell.

Similar questions
K
KhanTengri2011-06-17 23:56:41
Get from a remote web page?</a> <a class="content__item-button" href="/q/get-title-from-a-remote-web-page"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" class=""> <path fill-rule="evenodd" d="M15 14a1.002 1.002 0 01-1.703.71h-.004l-.003-.01-1.704-1.7H3c-1.104 0-2-.9-2-2V3c0-1.1.896-2 2-2h10c1.104 0 2 .9 2 2v11zM5 6c.552 0 1 .45 1 1s-.448 1-1 1-1-.45-1-1 .448-1 1-1zm3 0c.552 0 1 .45 1 1s-.448 1-1 1-1-.45-1-1 .448-1 1-1zm3 0c.552 0 1 .45 1 1s-.448 1-1 1-1-.45-1-1 .448-1 1-1z"></path> </svg> <span class="dark">6</span><span class="dn">Reply</span> </a> </div> </div><div class="content__item"> <div class="content__item-img name-color-D"> <span>D</span></div> <div class="content__item-content"> <div class="content__item-row"> <a href="/q/how-to-connect-2-computers-on-different-networks-using-sockets">Daniel</a><span>2018-02-17 06:39:43</span></div> <a class="content__item-title similar" href="/q/how-to-connect-2-computers-on-different-networks-using-sockets">How to connect 2 computers on different networks using sockets.?</a> <a class="content__item-button" href="/q/how-to-connect-2-computers-on-different-networks-using-sockets"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" class=""> <path fill-rule="evenodd" d="M15 14a1.002 1.002 0 01-1.703.71h-.004l-.003-.01-1.704-1.7H3c-1.104 0-2-.9-2-2V3c0-1.1.896-2 2-2h10c1.104 0 2 .9 2 2v11zM5 6c.552 0 1 .45 1 1s-.448 1-1 1-1-.45-1-1 .448-1 1-1zm3 0c.552 0 1 .45 1 1s-.448 1-1 1-1-.45-1-1 .448-1 1-1zm3 0c.552 0 1 .45 1 1s-.448 1-1 1-1-.45-1-1 .448-1 1-1z"></path> </svg> <span class="dark">2</span><span class="dn">Reply</span> </a> </div> </div><div class="content__item"> <div class="content__item-img name-color-D"> <span>D</span></div> <div class="content__item-content"> <div class="content__item-row"> <a href="/q/starting-from-which-version-of-java-does-it-support-automatic-type-inference">Dima Sokolov</a><span>2018-02-18 15:47:06</span></div> <a class="content__item-title similar" href="/q/starting-from-which-version-of-java-does-it-support-automatic-type-inference">Starting from which version of java does it support automatic type inference?</a> <a class="content__item-button" href="/q/starting-from-which-version-of-java-does-it-support-automatic-type-inference"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" class=""> <path fill-rule="evenodd" d="M15 14a1.002 1.002 0 01-1.703.71h-.004l-.003-.01-1.704-1.7H3c-1.104 0-2-.9-2-2V3c0-1.1.896-2 2-2h10c1.104 0 2 .9 2 2v11zM5 6c.552 0 1 .45 1 1s-.448 1-1 1-1-.45-1-1 .448-1 1-1zm3 0c.552 0 1 .45 1 1s-.448 1-1 1-1-.45-1-1 .448-1 1-1zm3 0c.552 0 1 .45 1 1s-.448 1-1 1-1-.45-1-1 .448-1 1-1z"></path> </svg> <span class="dark">3</span><span class="dn">Reply</span> </a> </div> </div><div class="content__item"> <div class="content__item-img name-color-C"> <span>C</span></div> <div class="content__item-content"> <div class="content__item-row"> <a href="/q/how-to-make-a-simple-web-application-for-a-psychological-test">Comatu</a><span>2018-02-18 16:59:43</span></div> <a class="content__item-title similar" href="/q/how-to-make-a-simple-web-application-for-a-psychological-test">How to make a simple web application for a psychological test?</a> <a class="content__item-button" href="/q/how-to-make-a-simple-web-application-for-a-psychological-test"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" class=""> <path fill-rule="evenodd" d="M15 14a1.002 1.002 0 01-1.703.71h-.004l-.003-.01-1.704-1.7H3c-1.104 0-2-.9-2-2V3c0-1.1.896-2 2-2h10c1.104 0 2 .9 2 2v11zM5 6c.552 0 1 .45 1 1s-.448 1-1 1-1-.45-1-1 .448-1 1-1zm3 0c.552 0 1 .45 1 1s-.448 1-1 1-1-.45-1-1 .448-1 1-1zm3 0c.552 0 1 .45 1 1s-.448 1-1 1-1-.45-1-1 .448-1 1-1z"></path> </svg> <span class="dark">3</span><span class="dn">Reply</span> </a> </div> </div><div class="content__item"> <div class="content__item-img name-color-M"> <span>M</span></div> <div class="content__item-content"> <div class="content__item-row"> <a href="/q/how-to-determine-that-a-generic-class-is-typed-with-the-desired-concrete-type">MaxLich</a><span>2018-02-19 12:29:37</span></div> <a class="content__item-title similar" href="/q/how-to-determine-that-a-generic-class-is-typed-with-the-desired-concrete-type">How to determine that a generic class is typed with the desired concrete type?</a> <a class="content__item-button" href="/q/how-to-determine-that-a-generic-class-is-typed-with-the-desired-concrete-type"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" class=""> <path fill-rule="evenodd" d="M15 14a1.002 1.002 0 01-1.703.71h-.004l-.003-.01-1.704-1.7H3c-1.104 0-2-.9-2-2V3c0-1.1.896-2 2-2h10c1.104 0 2 .9 2 2v11zM5 6c.552 0 1 .45 1 1s-.448 1-1 1-1-.45-1-1 .448-1 1-1zm3 0c.552 0 1 .45 1 1s-.448 1-1 1-1-.45-1-1 .448-1 1-1zm3 0c.552 0 1 .45 1 1s-.448 1-1 1-1-.45-1-1 .448-1 1-1z"></path> </svg> <span class="dark">2</span><span class="dn">Reply</span> </a> </div> </div> </div> </div> </div> <div class="content find"> <p class="find__p">Didn't find what you were looking for?</p><a class="find__btn" href="#!">Ask your question</a> </div> <div class="find sm"> <p class="find__title">Ask a Question </p> <form class="find__form" action="#!"> <input class="find__input" type="text" placeholder="Ask your question here"> <button class="find__btn" type="submit"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 16 16" class="nBqR1"><path fill-rule="evenodd" d="M12.696 7.256L9.657 4.217a1 1 0 00-1.415 1.414l1.344 1.344H3.949a1.001 1.001 0 000 2h5.637l-1.344 1.343a1.002 1.002 0 000 1.415c.391.39 1.024.39 1.415 0l3.039-3.04A.993.993 0 0013 7.975a.997.997 0 00-.293-.708l-.011-.011z"></path></svg></button> </form> <p class="find__span">731 491 924 answers to any question</p> </div> </div> <aside class="banners"> <p>banners </p> </aside> </div> </main> </div> <script src="/assets/theme/js/highlight/highlight.min.js"></script> <script src="/assets/theme/js/app.min.js?_v=20220404145216"> </script> <script>hljs.highlightAll();</script> </body> </html>