Contents / Previous / Next


Why Object Oriented Programming (OOP)?

Keep large software projects manageable by human programmers.



Modularization

Decompose problem into smaller subproblems that can be solved separately.


Abstraction -- Understandability

Terminology of the problem domain is reflected in the software solution.
Individual modules are understandable by human readers.


Encapsulation -- Information Hiding

Hide complexity from the user of a software of SDK. Protect low-level functionality.


Composability -- Structured Design

Interfaces allow to freely combine modules to produce new systems.


Hierarchy

Incremental development from small and simple to more complex modules.


Continuity

Changes and maintenance in only a few modules does not affect the architecture.