Read Head first design patterns

Source: Internet
Author: User

This book is a great success. The first time I read the technical books on English photocopies, at least on the surface, this book is quite thick. Last year, I started to learn the design model when I was in my previous internship. The reason why I chose this book was that I did not select the design model for the four-person guide. It was derived from the recommendation of a colleague. This is indeed a good book. Thank you! However, after reading this book, I am also excited-I am tired of reading less English in the future. If there is a good translation, let's take a look at the translation. The most obvious advantage of the English version is that it can be used in Starbucks.

When reading this book, I found that one of the authors liked go and wrote a pair of GO games.ProgramIn a friendly way, I sent an email to him to communicate with the computer go. Of course, no response was received. It is not easy to think about it (six levels have not passed). Fortunately, some friends encouraged me. A great guy told me that the design mode is the only way for programmers to learn more. Shen Ran said.

There has always been a criticism of the design model, for example:

1) "design patterns allow software development to easily adapt to existing models ."

Barrier: the demand for software is ever-changing, so the highest realm of software design should be no choice but to win-depending on changes in demand, or 23 models, or self-built models, so they are light-weighted and informal. However, unless you have no teacher or knowledge, I still need to learn the existing model to "enlighten the Tao" to take it to another level.

2) "design pattern reflectionProgramming Language."

Counterargument: For an ancient programming language like C ++ with poor support for Software Engineering (which I think is true), some design patterns are required to implement complex design. For some "advanced" languages, many design patterns seem redundant, because the language itself contains, or the framework itself is implemented. Taking the objc that I am familiar with as an example, proxy pattern has language-level support and does not need that complex structure. Observer pattern has a framework-level implementation (notification in cocoa ), you do not need to write it yourself. But the design model is still worth learning, and even must be learned-if you stay at the application level without going deep into the truth, it will always stay in the cainiao stage. For example, I have seen a cool developer write a reference counting Template Using C ++ (shared_ptr In the boost Library also supports reference counting ), I admire it-shared_ptr does not prevent me from writing a reference counting template. Even though you know what it is, you can use it to get water and be familiar with it.

I like the "routine" in each chapter of this book very much. 1) provide software requirements and design. 2) introduce the mode during continuous discussion and introduce it. 3) Why is this design necessary? Then introduce an object-oriented principle. This is roughly the case. Such a routine also shows that the principle is Tao, and the mode is skill.

The design needs to be traced back to the source. It cannot be covered by 23 models. This is a word that I personally agree with, rather than for functional design. Taking Mobile development as an example, the demand for projects is ever-changing, and the demand is still "full of time". Only by looking at the essence can we remedy the problem.

"To learn more and more, for daily loss ."

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.