Experts and scholars at home and abroad often talk about some of the "wheels" in spring 《Rod Johnson and wheel theory in springIn this article, I systematically expressed my views. Of course, the thoughts and theories often have more relationships with culture, habits, thoughts, beliefs, and many other non-technical things. However, I do not agree to go to the tip of the ox's horn and chew. The following is my discussion with a netizen, hoping to get out of the misunderstanding of Spring "Wheel.We don't have to argue about whether spring has a "Wheel" any more. Let alone technology, learning, and invention, and let the "Wheel" go to theory and contest on their own!
User: tendy
I think it is necessary to figure out what is "repetitive wheel ".
Maybe I want to chew on it again
1. For example.
Suppose the wheel of a BMW is 1 m in diameter.
There is a kind of vehicle wheel that can carry hundreds of tons of dirt (this kind of car does exist, I have seen it on TV)
Obviously, it is not appropriate to use a BMW car to carry this type of vehicle.
So I invented a 2 m wheel for the vehicle (the actual wheel diameter seems to exceed 2 m)
As mentioned above, no matter 1 m in diameter or 2 m in diameter, they are all wheels, but they are never repeated.
In other words, they meet different needs.
2. Reference:
1) posted by Jiangnan Baiyi
"Spring will not develop the wheel repeatedly for existing excellent projects, such as ORM. If existing projects do not meet Rod's requirements at the time, it will re-develop in spring, for example, spring MVC ", Rod said in N places, it should not be difficult to find.
My opinion: Like struts MVC, it cannot meet the requirements of spring, so rod has a spring MVC, so they are not repeated. Spring uses ORM such as Hibernate, not because they are excellent, because they can meet the requirements of spring.
2) posted by Daxia
I think the webwork, tapestry, and spring MVC mentioned above also encounter problems that are inappropriate or imperfect for similar wheels. Only by constantly seeking for improvement methods can we continuously update and update our systems, and lead to the re-invention of a new and beautiful wheel. The conclusion is that the wheel is not about whether or not it belongs to "repeated invention", but the key is "inappropriate combination ". I once said: it is reasonable to exist!
My opinion: What Daxia said is similar to the above. They are all about whether to meet the needs (not suitable ).
My personal conclusion: I agree with the points cited in the above two paragraphs.
3.
Last sentence,
1 m in diameter and 2 m in diameter are called wheels (nonsense), but not because they are called wheels, they are thought to be repeated;
Struts MVC and spring MVC are both called MVC, but they cannot be regarded as repeated MVC because they are both called MVC.
Below is my reply
Daxia
@ Tendy
Does struts MVC or the like not meet the requirements of spring? Which webwork, tapestry, and JSF cannot meet the requirements? Isn't spring + Struts + hibernate well used in China? (There are market reasons, habits, and other social reasons ). This is an abstract question. It is a matter of public reasoning. From the perspective of users, it is a matter of applicability. In terms of words, it is a bit of a topic to chew on.
Therefore, I am reading the article written by many people in China that cited his "Wheel theory. Please note that reading my original article does not prove that "Spring invented the wheel ", therefore, there is no need to argue over whether spring has invented the wheel (of course, a rational argument is needed ).
The purpose of my series of articles is very simple. I hope that you will maintain a peaceful attitude and domestic programmers will join in to create a good and harmonious open-source environment. Rather than raising yourself up by degrading others. Do you think I do not like an open-source project in China or even scold them? Good or bad is evaluated by users, not by yourself. Do you think I have told you about springside in public? Do you think I have a lot of ideas about what easyjf does? In the current social environment in China, it is difficult to develop good software. It is even harder to develop open-source projects and products that can be praised by everyone.
The key is thinking and thinking. If, like some "Spring fans", I only find myself following the article, talking about human organs in physiology, and spitting? Will it be helpful to establish an open-source environment and community culture in China?
The example above shows that repetition and improvement are two different things. This is a matter of degree, and even a subjective factor at the beginning. From the "non-moderate" Perspective: Repeated functions can be called repetition (for example, all MVC ), some minor code changes can also be called improvements (for example, some code of a project ).
Recent highlights of "Huashan sword:
A bloody case caused by a "Spring wheel" (1)
A "blood case" caused by a "Wheel Theory" (2)
A "blood case" caused by a "sprng Wheel" (3)
A "blood case" caused by a "Spring wheel" (4)
A "blood case" caused by a "Spring wheel" (5)
An episode of spring wheel murder
A "blood case" caused by a "Spring wheel" (6)-blood case presentation and on-site highlights