Java Interview: Difference between revisions

From Chorke Wiki
Jump to navigation Jump to search
No edit summary
Line 35: Line 35:
## I for Indescriptive Naming
## I for Indescriptive Naming
## D for Duplication
## D for Duplication
|}
----
{|
| valign="top" |
; [https://www.xinjianl.com/note/software/software-architecture/design-pattern/ Composition vs Aggregation]
: Both are Association
: Composition: A "owns" B
: Aggregation: A "uses" B
| valign="top" |


|}
|}

Revision as of 16:59, 24 October 2020

  1. MVC
    1. Model
    2. View
    3. Controller
  2. SOLID Design Principles
    1. Single Responsibility Principle
    2. Open-Closed Principle
    3. Liskov Substitution Principle
    4. Interface Segregation Principle
    5. Dependency Inversion Principle
  1. Design Pattern
    1. Creational Design Patterns
      1. Factory Pattern
      2. Prototype Pattern
      3. Builder Pattern
      4. Singletons
    2. Structural Design Patterns
      1. Adapter Pattern
      2. Composite Pattern
      3. Decorator Pattern
    3. Behavioral Design Patterns
      1. Strategy Pattern
      2. State Pattern
  1. STUPID Practices in Programming
    1. S for Singleton
    2. T for Tight Coupling
    3. U for Untestability
    4. P for Premature Optimization
    5. I for Indescriptive Naming
    6. D for Duplication

Composition vs Aggregation
Both are Association
Composition: A "owns" B
Aggregation: A "uses" B

References