1.UML
A. Full name: Unified Modeling Language
B.UML diagram: Flowchart, use case diagram, time series diagram, class diagram
C. Between the interface and the class--implementation
D. Between objects and objects
① generalization--is not called inheritance in UML, but is called generalization
② Association
Dependency: Use A is a weakly associative relationship
Aggregation: Has a whole and part of the relationship, but separable
Combination: Contains a whole and part of the relationship, but cannot be separated (also known as strong aggregation)
Note: In Java, aggregation and composition are basically the same, and there's no big difference
2. Design principles
A. Standards for measuring the quality of software design: readability, reusability, scalability, maintainability
B. Standard summary: cohesion, low coupling
C. Seven major principles:
① Single Duty principle: A class should have only one cause for his change
② Opening and closing principle: open to expansion, closed for modification (core principle)
③ Richter Substitution principle: After a subclass replaces all the parent classes, it works as expected
④ relies on the reverse principle: high-level modules should not rely on low-layer modules, they should rely on abstraction
Abstractions should not be dependent on detail, and detail should be dependent on abstraction
⑤ interface Isolation principle: Minimum Interface principle
⑥ combination/Aggregation multiplexing principle: Multi-use combination/aggregation, less inheritance
⑦ Dimitri Law: the principle of least knowledge
Java's OOAD