The bible of the Java industry-four most important personal books

Source: Internet
Author: User
Tags interface
Summary





Thomas Davis recommends four books that will help you benefit from Java development. These books extend the basic syntax and semantics of Java to give you a fuller understanding of object-oriented programming.





Body





"Design Patterns"





refactoring:improving The design of Existing code





"Antipatterns:refactoring Software, architectures, and Projects in Crisis"





"Extreme Programming explained:embrace Change"





in this article, I propose the difference between the novice and the expert in using Java for development, and also gives a bibliography to help beginners go beyond this limit. This is not a bibliography review, but a ticket to the next step in your career development.





Java is a programming language. It is also a tool that, if used incorrectly, is useless and sometimes even dangerous. Just knowing its syntax and semantics is not a programmer's job. A programmer must also pay close attention to and understand the environment model, that is, in the Java environment, what is object-oriented design. It's not enough to know what the object is, what the interface is, how many objects implement an interface, and so on. A programmer must know this mysterious way of merging those rules and relationships into a flexible, reusable, extensible system. The books I'm discussing here will give you the experience to improve your professional qualities as a Java programmer. Surprisingly, none of the books included the word Java in their titles.





Note: The URL addresses for all the bibliographies discussed in this article can be found in the resources later in this article.





"Design Patterns"





The author of this book is Erich Gamma, Richard Helm, Ralph Johnson, John vlissides, and Grady Boocha--the Gang of four is their famous claim, by Addison-wesley out Edition of the Society was published in 1995. The word pattern describes a class of repetitive problems and provides a reusable solution. Design patterns can at least help you avoid the pitfalls of memory limitations to simplify your work, and design patterns can also create an interface-like integration approach that can be flexibly integrated with Third-party libraries to simplify your work. The design patterns describes these two patterns in detail, gives evaluations and provides code examples and Easy-to-understand diagrams. While the code examples are C + +, the syntax is very similar to Java, so most programmers will have no problem mastering these concepts. There is a copy of the book, it takes Java as an example, the title is "Java Design patterns:a Tutorial", the author is James William Cooper, published by Addison-wesley Press in 2000 But without the thoroughness and depth of the Gang of four in "design patterns".





Once you are familiar with the design patterns listed in "Designing Patterns", you will recognize how some of them develop. In the design Patterns applied (Software Patterns Series), published by Addison-wesley Press in 1998, John Vlissides describes the arguments and discussions in some of the most popular models, It also introduces some new patterns that have been deleted in the design Patterns.





refactoring:improving The design of Existing code





To make mistakes is to be a person. If this is the truth, I see hundreds more like human programs than I do. There is something wrong with the project. There was a mistake. The schedule has been postponed and the quality has been sacrificed. These are all warnings about the professions we are engaged in. But when things are getting worse, where do you need to change direction? My very many colleagues adopt the "Throw-away-and-start-over" approach: starting from scratch, hoping that they can avoid mistakes. That's the most extreme solution, it must have angered your boss. But don't despair because there is a way to replace it.





"refactoring:improving The design of Existing code" is one of the Addison-wesley publishing house object-oriented technology series, the writer is Martin Fowler, Kent Beck, J Ohn Brant, William Opdyke, and Don Roberts, published on the date of 1999, offer developers a different choice to start anew. Refactoring is the process of improving its performance by reconstructing the internal structure of a program but not changing its external behavior. Refactoring can make a method perform faster or provide more accurate execution results, but not change the name of the method. These changes are not visible to the program that invokes the method, so no code needs to be modified.





This book teaches readers how to identify the problem code with a special awareness, and put each one in a program directory for modification. For example, a consciousness may be an improper intimacy-a relationship that describes two or more classes so tightly that a change to a class requires another class to change. One of the many solutions suggested in this book is to move this problematic approach to a more appropriate class.





"Antipatterns:refactoring Software, architectures, and Projects in Crisis"





Software development is not the only place that is prone to error and negligence. Management is also prone to defects due to the chaotic development process and unrealistic development progress. Most Internet companies have a worrying turnover rate in their development departments. As programmers join and exit, the hierarchy of responsibilities is as confusing as the code structure. The author of Antipatterns:refactoring Software, architectures, and Projects in Crisis is William J. Brown, Raphael C. Malveau, Willi Am H. Brown, Hays W. McCormick III, and Thomas J. Mowbray, published by John Wiley & Sons Publishing House in 1998, will add this to your overall career goals. It classifies common mistakes in planning, error management, and basic methods to make you jump out of the abyss.





is your plan being picky to the committee? It's like a lot of cooks are cooking a pot of soup. Or your code base is a violation of the pattern of the seller code, causing you to rely on an unreliable third-party product. "Antipatterns" divides these into 12 categories and about 24 small classes that guide you to avoid these problems or jump out of the trap you accidentally enter.





"Extreme Programming explained:embrace Change"





XP is a fresh, somewhat controversial new development process, and Kent Beck is its forerunner. XP strives to provide good software on time, with no bureaucracy and no emphasis on the traditional development cycle. At the time of the internet's onset of fever, everyone's eyes were focused on catching up with the market. In the real world, projects that exceed the budget or have a deadline are canceled, which eventually leads to a total failure of some companies. Projects begin with documents and charts that rarely reflect the final product. Therefore, the development team needs to adapt to the frequent changes in project requirements and reflect. That's where XP is going to glow.





"Communication, simplicity, feedback, courage" is the secret of XP enthusiasts. There are a number of ways to communicate, such as in a paired program design. That is, a person encodes, and the partners perform an equivalent real-time check.





Simplicity means building just what you need when you need it. Do not waste time implementing luxury solutions to problems that may arise in the future.





feedback means "early release, often released", which is loved by enthusiasts who are open source. By presenting the product in front of the user in the early stages of development, you can try to avoid the drastic changes required at the end of the development cycle.





Finally, courage encouraged XP disciples to seize the opportunity and draw lessons from the results. Only in rare occasions do you have to resort to "throw-away-and-start-over" technology. "Extreme Programming Explained:embrace Change" describes those tips and how they help you. The author of this book is Kent Beck, published by Addison-wesley Publishing house in 1999.





Conclusion





recently I had the opportunity to start a company project from scratch. My development team relies on the teaching of these books to live and breathe, and the results are significant. We built a particularly robust and scalable system on schedule and without delay. These books have improved my career and I am sure they will improve your career as well.





about author


Thomas E. Davis is a Sun certified Java Software engineer and the chief technical officer of his second successful Internet program. Thomas now lives in sunny South Florida, and unfortunately most of the time he stays in front of a computer in the room














Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.