The Baeldung logo
  • The Baeldung LogoCS SublogoCS Sublogo
  • Start Here
  • Guides ▼▲
    • Core Concepts

      Fundamental concepts in Computer Science

    • Operating Systems

      Learn about the types of OSs used and the basic services they provide.

    • Artificial Intelligence

      Explore the concepts and algorithms at the foundation of modern artificial intelligence

    • Graph Theory

      Learn how GPS systems find the shortest routes, how engineers design integrated circuits and more real-world uses of graphs

    • Latex

      A powerful preparation tool for creating high-quality document.

  • Pricing
  • About ▼▲
    • Full Archive

      The high level overview of all the articles on the site.

    • About Baeldung

      About Baeldung.

Software Architecture » Object-Oriented Programming

Software Architecture is a fundamental building block of any complex system. Learn about the fundamentals of software architecture and the components of system design.

  • Definition (16)
  • Design Patterns (12)
  • Databases (11)
  • Distributed Systems and Programming (11)
  • Cloud Computing (7)
  • Microservices (6)
  • Blockchain (5)
  • x Object-Oriented Programming (3)
  • HTTP (3)

>> Systems Design: Interface Segregation Principle

>> System Design: Dependency Inversion Principle

>> What Is an ORM? How Does It Work? How Should We Use One?

The Baeldung logo

Categories

  • Algorithms
  • Artificial Intelligence
  • Core Concepts
  • Data Structures
  • Latex
  • Networking
  • Security

Series

  • Graphs Tutorial
  • Neural Networks Series
  • LaTeX Series

About

  • About Baeldung
  • Baeldung All Access
  • The Full archive
  • Editors
  • Our Partners
  • Partner with Baeldung
  • eBooks
  • FAQ
  • Baeldung Pro
  • Terms of Service
  • Privacy Policy
  • Company Info
  • Contact
The Baeldung Logo