Then, according to the design process, these modules are spliced together to form a program project with relatively perfect functions.
Object-oriented, its cornerstone is of course object. Through the analysis of project requirements, the object model is established, and the function and relationship of the object are analyzed.
Object-oriented is also modular, similar to but different from structured modules.
Structural modularity is the foundation and natural product, and object-oriented modularity is the design thinking mode.
Look at the roots of the two clearly, and then look at their xx design to illustrate the xx thinking, so as to avoid confusion.
The two are not opposite or different, but a monument in the process of development.
It should be common sense that there are many objects with advantages. The problem is that it is easy to be over-abstract, over-designed, over-separated and over-xx.
Structured, direct advantages, focusing on solving problems and realizing functions. As for the disadvantages, the advantages of object-oriented are reversed. I found a conclusion in a paper and added it. The development of programming methods has experienced four generations. Structuring and object-oriented are the most essential thinking methods in software engineering programming methods. Structuralization embodies the basic principles of abstract thinking and solving complex problems, while object-oriented profoundly reflects the essential characteristics that the objective world is composed of objects.
An important difference between various programming methods lies in different starting points (factors) and different ways of thinking in problem decomposition.
Data structure and processing in computer are closely related. Structured method considers data structure and process separately, while object-oriented method combines data and process into objects.
Theoretically, the practical object-oriented method will produce better module cohesion and coupling characteristics, and make the software easier to reuse and maintain. But in practice, programming methods need the support of tools and environment, and all aspects of software life cycle need to be considered. These factors need to be considered comprehensively when choosing programming methods.