Skip to content

Vincamine/OOD-Blueprints-Practical-Object-Oriented-Design

Repository files navigation

OOD-Blueprints: Practical Object-Oriented Design in Java

Overview

This project showcases Object-Oriented Design (OOD) principles through practical Java implementations. It is structured into multiple problems, each modeling real-world entities using encapsulation, inheritance, polymorphism, and design patterns.

Features

  • Modular Codebase: Divided into distinct packages (problem1, problem2, problem3), each tackling a unique OOD challenge.
  • Encapsulation & Abstraction: Secure handling of user credentials and financial data.
  • Separation of Concerns: Each entity has a clear, single responsibility.
  • Test-Driven Development (TDD): Includes JUnit test cases for validation.

Project Structure

Assignment1/src/main/java/
│── problem1/
│   ├── Credentials.java
│   ├── User.java
│── problem2/
│   ├── Delivery.java
│   ├── Time.java
│── problem3/
│   ├── Account.java
│   ├── Amount.java
│   ├── Identifier.java
│── test/
    ├── problem1/CredentialsTest.java
    ├── problem2/DeliveryTest.java

Technologies Used

  • Java 17+
  • Gradle for build automation
  • JUnit for unit testing

Setup Instructions

  1. Clone the repository:

    git clone https://github.com/Vincamine/OOD-Blueprints-Practical-Object-Oriented-Design.git
    cd OOD-Blueprints-Practical-Object-Oriented-Design
  2. Build the project:

    ./gradlew build
  3. Run tests:

    ./gradlew test

Why This Project?

This repository demonstrates strong OOD principles, making it an excellent showcase for software design skills. It highlights:

  • Data modeling with well-defined classes
  • Separation of concerns using different packages
  • Robust testing for maintainability

Author

Wenxue(Wyllie) Fang

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages