What is a framework?
A framework is a frame—referring to its restrictive nature, and also a shelf—referring to its supporting nature. It is a basic conceptual structure used to solve or deal with complex problems.
The broad definition of framework is very popular, especially in software concepts. Frames can also be used in mechanical structures.
Framework in software engineering:
Framework (Framework) is a group of cooperating classes that constitute a specific type of software reusable design. A framework specifies the architecture of your application. It defines the overall structure, the division of classes and objects, the main responsibilities of each part, how classes and objects collaborate, and the control flow. The framework predefines these design parameters so that the application designer or implementer can focus on the specific details of the application itself.
Why use a framework:
Because the development of software systems has become very complex today, especially server-side software, which involves too much knowledge, content, and problems. . Using other people's mature frameworks in some aspects is equivalent to asking others to help you complete some basic work. You only need to concentrate on completing the business logic design of the system. Moreover, the framework is generally mature and robust, and it can handle many detailed issues of the system, such as transaction processing, security, data flow control and other issues. In addition, frameworks are generally used by many people, so the structure is very good, so the scalability is also very good, and it is constantly upgraded, and you can directly enjoy the benefits of other people's code upgrades.
Frameworks are generally located in the middle layer between low-level application platforms (such as J2EE) and high-level business logic.
Why should software be layered? In order to achieve "high cohesion and low coupling". Dividing problems into individual solutions makes them easy to control, easy to extend, and easy to allocate resources... In short, there are many benefits.
Framework development:
The biggest benefit of the framework is reuse. The biggest reuse method obtained by object-oriented systems is the framework. A large application system may often be composed of multiple layers of frameworks that cooperate with each other.
Because the framework can reuse code, it becomes very easy to build applications from an existing component library, because the components all use interfaces uniformly defined by the framework, making communication between components simple.
Frameworks can reuse designs. It provides reusable abstract algorithms and high-level designs, can decompose large systems into smaller components, and can describe the internal interfaces between components. These standard interfaces make it possible to build a variety of systems through assembly based on existing components. As long as it conforms to the interface definition, new components can be inserted into the framework, and component designers can reuse the design of the framework.
The framework can also reuse analysis. If all personnel analyze matters according to the idea of the framework, they can divide it into the same components and adopt similar solutions, so that analysts using the same framework can communicate with each other.
Main features:
1. The software structure in the field is consistent; establish a more open system;
2. Reuse code is greatly increased , software production efficiency and quality have also been improved;
3. Software designers should focus on understanding the field to make demand analysis more complete;
4. Stored experience can make Those experienced personnel design frameworks and domain components without being limited to low-level programming;
5. Allow the use of rapid prototyping technology;
6. Conducive to multiple people working together within a project ;
7. Strong reuse reduces average development costs, speeds up development, reduces developers, and reduces maintenance costs, while the parameterized framework enhances adaptability and flexibility.
For more related knowledge, please visit PHP Chinese website! !
The above is the detailed content of What is a framework?. For more information, please follow other related articles on the PHP Chinese website!