Low Level Design Basics

Object-Oriented Programming

4 Principles of Object-Oriented Programming
  1. Encapsulation:
    • Mechanism of binding the data together and hiding it from outside world.
    • Achieved when each object keeps its state private so that other objects don’t have direct access to its state.
    • This state can only be accessed through a set of public functions.
  2. Abstraction:
    • Can be thought as a natural extension of encapsulation.
    • It means hiding all but the relevant data about an object to reduce the complexity of the system.
    • In a large system, objects talk to each other, which makes it difficult to maintain a large code base.
    • Abstraction helps by hiding internal implementation details of objects and only reveals operations that are relevant to other objects.
  3. Inheritance
    • Mechanism of creating new classes from existing ones.
  4. Polymorphism
    • It is the ability of an object to take diffferent forms.


OO Analysis and Design

Process of OO Analysis and Design
  1. Identifying the objects in the system.
  2. Defining the relationship b/w objects.
  3. Establishing the interface of each object.
  4. Making a design that can be converted to executables (code) using OO languages.
Standard Method / Modeling Tool to document all these informations




Next: Unified Modeling Language (UML)  →