Skip to content

This repository offers detailed resources and implementations for Object-Oriented Programming (OOP), Object-Oriented Design (OOD), and various Design Patterns, along with principles like SOLID. It includes low-level design examples, antipatterns, and practical applications of creational, structural, and behavioral design patterns.

License

Notifications You must be signed in to change notification settings

GKcodebase/Design

Repository files navigation

Design Patterns and Low-Level Design

This repository provides resources and detailed implementations related to Object-Oriented Programming, Object-Oriented Design, Design Patterns, and their principles.

Table of Contents

  1. Object-Oriented Programming (OOP)
  2. SOLID
  3. Object-Oriented Design (OOD)
  4. Object-Oriented Design Principles
  5. Design Patterns
  6. Design Patterns Detailed Implementation
  7. Low Level Designs
  8. Antipatterns

Object-Oriented Programming (OOP)

Understanding the fundamental principles of Object-Oriented Programming (OOP), including concepts like classes, objects, encapsulation, inheritance, and polymorphism.

    1. Class and Objects
    2. Encapsulation
    3. Inheritance
    4. Polymorphism

Object-Oriented Design (OOD)

Learn about Object-Oriented Design (OOD), which involves designing software using objects and classes, focusing on modularity, reusability, and maintainability.

SOLID

SOLID Principles

    1.Single Responsibility Principle.
    2.Open and Close Principle.
    3.Liskov Substitution principle.
    4.Interface Seggregation principle.
    5.Dependency Inversion principle.

Design Patterns

Understand and implement design patterns, which are proven solutions to common design problems. Design patterns provide reusable solutions that help structure code in a flexible and efficient way.

    1.Creational Design Patterns
    2.Structural Design Patterns
    3.Behaviourial Design Patterns

Design Patterns Detailed Implementation

Detailed implementations of specific design patterns, providing practical examples and explanations of how each design pattern can be applied to solve real-world problems.

    1.Creational Design Patterns
    2.Structural Design Patterns
    3.Behaviourial Design Patterns

Low Level Designs

Low level design exploration of classic examples.

    1.HahsMap.
    2.NULL Object Design.
    3.TicTacToe.
    4.Vending Machine.

Antipatterns

Common anti-patterns in java, and their solutions.

Contributing

Contributions are welcome! If you have additional resources, explanations, or implementations related to Object-Oriented Programming, Object-Oriented Design, or Design Patterns, feel free to contribute.

Please follow the contribution guidelines before submitting pull requests.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

This repository offers detailed resources and implementations for Object-Oriented Programming (OOP), Object-Oriented Design (OOD), and various Design Patterns, along with principles like SOLID. It includes low-level design examples, antipatterns, and practical applications of creational, structural, and behavioral design patterns.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages