Object-Oriented Programming
(opens in a new tab)
  • Labs
    • 1 Initialization
    • 2 Introduction Ⅰ
    • 3 Introduction Ⅱ
    • 4 Methods & Fields
    • 5 Static & Documentation
    • 6 Arrays & Exceptions
    • 7 Composition
    • 8 Inheritance
    • 9 Polymorphism
    • 10 Files & Serialization
    • 11 GUI + JavaFX Ⅰ
    • 12 GUI + JavaFX Ⅱ
  • Guides
    • JavaFX

  • Links

Sections

  • Unified Modeling Language
  • Design Principles
  • Design Patterns
  • UI/X Patterns
  • Challenges
Feedback (opens in a new tab) Edit

Links

Unified Modeling Language

  • What is the Unified Modeling Language (UML)? (opens in a new tab)
  • UML Class Diagram Tutorial (opens in a new tab)

Design Principles

SOLID stands for:

  1. S: Single-Responsibility Principle
  2. O: Open-Closed Principle
  3. L: Liskov Substitution Principle
  4. I: Interface Segregation Principle
  5. D: Dependency Inversion Principle
  • Why SOLID principles are still the foundation for modern software architecture? (opens in a new tab)
  • SOLID: The First 5 Principles of Object Oriented Design (opens in a new tab)

Design Patterns

  • Design Patterns (opens in a new tab)
  • Gangs of Four (GoF) Design Patterns (opens in a new tab)
  • Design Patterns, GRASP, and SOLID (opens in a new tab)

UI/X Patterns

  • Laws of UX (opens in a new tab)
  • UI Library (opens in a new tab)
  • UI Design Patterns (opens in a new tab)

Challenges

  1. Exercism (opens in a new tab)
  2. LeetCode (opens in a new tab)
  3. Project Euler (opens in a new tab)
  4. Codewars (opens in a new tab)
  5. HackerRank (opens in a new tab)
  6. Topcoder (opens in a new tab)
JavaFX

2025Qatar University