What is a framework?
This problem is actually a lot of "framing" people do not understand. The nature of frameworks and libraries differs in that:
- The framework considers the reuse of the mechanism, and the library mainly considers the reuse of the code.
- The framework considers expansion in the same way as the mechanism does, while the library does not consider the problem of expansion
- The framework itself is incomplete, and in most cases it is not a matter of itself, and the library itself is complete and can solve a problem in one area.
- The framework is alive, and through constant expansion and derivation, it is more powerful, and the library is dead, and what it is when it is released.
Of course, there are many angles to the comparison between the two goods, but I personally feel that the essence is the above.
What questions should be considered when designing? the answer to this question, if you use a sentence to solve the symbol, the answer is: to carefully consider the use of the framework of the feelings of people, to consider how to make users feel cool problems. Of course, if it is three days and two days to say the unclear way, it must be from the methodology, problem areas, design principles waiting to be elaborated.
what is a passing framework? this question, in a sentence, is that in the case of satisfying the previous problem does not violate the basic design principles, then it can be regarded as a passing framework. If you use three days and two days to explain, it is necessary to take all the basic design principles, one by one, speak clearly, one by one to speak and understand.
If the first condition is met, the user is satisfied, from the use is good, if the second condition is satisfied, from the design and implementation is good. If two are satisfied with that description, the minimum is the available pass framework, and of course it may score more.
The system and tactics of open source framework
By the way, today also talk about the framework of the system and tactical point of view, opinion, said wrong also please Haihan.
From the military, tactical combat is a specific piece of non-trivial battle, win on the win, defeated, and local mutual has the length, but on the whole there is no essential impact, and the system is the impact of the two sides of the important point of comparison, is a problem, is the west wind overwhelming east or Tong problem.
The framework also has the same problem, if the framework can only solve a local part, or a specific problem, then it is a tactical framework, such as an XML parser, a web crawler framework and so on, are to solve specific problems, so no matter how to do in place, how good, are a tactical problem.
So I'm going to take people often say that the SSH framework is obviously a tactical framework for hibernate and struts. But spring is obviously different, on the surface spring itself only provides a series of mechanisms and systems, but it does not do a specific aspect of the problem, he solves ioc,aop such as the more virtual problem, but because of this, it occupies the core of the entire open source framework, Many of the other frameworks are very easy to replace and remove, but the only way to get rid of spring is to be difficult-or, to eliminate spring, you need to find a better alternative than spring, and it's hard to really get rid of it before it's found.
I also saw some students in the OSC framework of the source code, from the solution to specific problems, skills, prudence, and avantgarde is good, but it seems to see, feel or tactical issues on the spinning, that is, to solve the specific problem is very good, but in terms of the system is relatively weak.
Here, I also put my understanding of the framework (framework) and everyone, my understanding of the framework must be the framework of the framework to build a structural, systematic, institutional part, and let the user to provide real, business, concrete implementation of the part Of course, the framework builders can also provide some practical, business, concrete implementation of the part, but this can only be used as a default, basic implementation, it is sufficient in most cases, but in special cases can be taken off, can be replaced.
That is, if you meet the above requirements, you can be said to be a framework (framework), otherwise, you are just a library, just a code base, not called a framework.
Maybe some students said again, you call the sea said a long time, you now design the framework is how to have a system?? This is exactly the question I want to explain below:
1. Through a large number of systematic thinking, it is not only based on the solution of development problems, but also consider integration, release, maintenance issues.
2. Many sub-frameworks have been built, such as process framework, plug-in framework, UI framework, and so on, which only have the content of the system and the mechanism and the specification, but the business developers can expand on it to achieve various goals.
3. Most of the considerations in terms of implementation are intrusive and non-invasive, meaning that if you can accept intrusion, you are more convenient to do so, and if you do not accept intrusion, you can use many of the features of the tiny framework.
4. In the integration of the effort is the largest, can be easily implemented self-assembly, that is, thrown into the no-tube mode.
5. In terms of modularity is also a lot of power, all the resources can be entered into the jar package, do not have to modify the Web.
6. Strategic goal is to build an ecosystem, do the UI, do the logic, do business to do what they are good at, and work together.
Therefore, because the tiny framework does a lot of systematic work, may not directly implement a function, but it as a system in the development, collaboration, maintenance, support at all stages.
Of course, the framework we are designing also contains a large number of libraries and frameworks for solving real-world problems, while not rejecting the integration and use of various open source frameworks.
Therefore, the large development framework is a systematic project. Therefore, before the open-source framework, the first to locate accurate, is to do tactical or systematic framework, so only do their own good, controllable things, only handy, relaxed and happy, but also can get the maximum return.
What is a framework?
This problem is actually a lot of "framing" people do not understand. The nature of frameworks and libraries differs in that:
- The framework considers the reuse of the mechanism, and the library mainly considers the reuse of the code.
- The framework considers expansion in the same way as the mechanism does, while the library does not consider the problem of expansion
- The framework itself is incomplete, and in most cases it is not a matter of itself, and the library itself is complete and can solve a problem in one area.
- The framework is alive, and through constant expansion and derivation, it is more powerful, and the library is dead, and what it is when it is released.
Of course, there are many angles to the comparison between the two goods, but I personally feel that the essence is the above.
What questions should be considered when designing? the answer to this question, if you use a sentence to solve the symbol, the answer is: to carefully consider the use of the framework of the feelings of people, to consider how to make users feel cool problems. Of course, if it is three days and two days to say the unclear way, it must be from the methodology, problem areas, design principles waiting to be elaborated.
what is a passing framework? this question, in a sentence, is that in the case of satisfying the previous problem does not violate the basic design principles, then it can be regarded as a passing framework. If you use three days and two days to explain, it is necessary to take all the basic design principles, one by one, speak clearly, one by one to speak and understand.
If the first condition is met, the user is satisfied, from the use is good, if the second condition is satisfied, from the design and implementation is good. If two are satisfied with that description, the minimum is the available pass framework, and of course it may score more.
The system and tactics of open source framework
By the way, today also talk about the framework of the system and tactical point of view, opinion, said wrong also please Haihan.
From the military, tactical combat is a specific piece of non-trivial battle, win on the win, defeated, and local mutual has the length, but on the whole there is no essential impact, and the system is the impact of the two sides of the important point of comparison, is a problem, is the west wind overwhelming east or Tong problem.
The framework also has the same problem, if the framework can only solve a local part, or a specific problem, then it is a tactical framework, such as an XML parser, a web crawler framework and so on, are to solve specific problems, so no matter how to do in place, how good, are a tactical problem.
So I'm going to take people often say that the SSH framework is obviously a tactical framework for hibernate and struts. But spring is obviously different, on the surface spring itself only provides a series of mechanisms and systems, but it does not do a specific aspect of the problem, he solves ioc,aop such as the more virtual problem, but because of this, it occupies the core of the entire open source framework, Many of the other frameworks are very easy to replace and remove, but the only way to get rid of spring is to be difficult-or, to eliminate spring, you need to find a better alternative than spring, and it's hard to really get rid of it before it's found.
I also saw some students in the OSC framework of the source code, from the solution to specific problems, skills, prudence, and avantgarde is good, but it seems to see, feel or tactical issues on the spinning, that is, to solve the specific problem is very good, but in terms of the system is relatively weak.
Here, I also put my understanding of the framework (framework) and everyone, my understanding of the framework must be the framework of the framework to build a structural, systematic, institutional part, and let the user to provide real, business, concrete implementation of the part Of course, the framework builders can also provide some practical, business, concrete implementation of the part, but this can only be used as a default, basic implementation, it is sufficient in most cases, but in special cases can be taken off, can be replaced.
That is, if you meet the above requirements, you can be said to be a framework (framework), otherwise, you are just a library, just a code base, not called a framework.
Maybe some students said again, you call the sea said a long time, you now design the framework is how to have a system?? This is exactly the question I want to explain below:
1. Through a large number of systematic thinking, it is not only based on the solution of development problems, but also consider integration, release, maintenance issues.
2. Many sub-frameworks have been built, such as process framework, plug-in framework, UI framework, and so on, which only have the content of the system and the mechanism and the specification, but the business developers can expand on it to achieve various goals.
3. Most of the considerations in terms of implementation are intrusive and non-invasive, meaning that if you can accept intrusion, you are more convenient to do so, and if you do not accept intrusion, you can use many of the features of the tiny framework.
4. In the integration of the effort is the largest, can be easily implemented self-assembly, that is, thrown into the no-tube mode.
5. In terms of modularity is also a lot of power, all the resources can be entered into the jar package, do not have to modify the Web.
6. Strategic goal is to build an ecosystem, do the UI, do the logic, do business to do what they are good at, and work together.
Therefore, because the tiny framework does a lot of systematic work, may not directly implement a function, but it as a system in the development, collaboration, maintenance, support at all stages.
Of course, the framework we are designing also contains a large number of libraries and frameworks for solving real-world problems, while not rejecting the integration and use of various open source frameworks.
Therefore, the large development framework is a systematic project. Therefore, before the open-source framework, the first to locate accurate, is to do tactical or systematic framework, so only do their own good, controllable things, only handy, relaxed and happy, but also can get the maximum return.
"Self-written framework 7": Thinking on framework system and tactics