Fortune Telling Collection - Comprehensive fortune-telling - Basic principles of software design

Basic principles of software design

Modularity, abstraction and information hiding.

1, modularity: refers to the process of dividing a software system into several modules from top to bottom when solving a complex problem. Each module completes a specific sub-function, and all modules are assembled into a whole in a certain way.

2. Abstraction: it is a thinking tool used in the process of understanding complex phenomena, that is, to extract the common features of the essence of things without considering their details and other factors for the time being.

3. Information hiding: It means that when designing and determining a module, the information (process or data) contained in a module cannot be accessed by other modules that do not need this information.