Skip to content

zahidesad/Software_Modelling_and_Design

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Software Modeling and Design Lab

This repository contains Java-based examples from the Software Modeling and Design course, illustrating key design patterns and software design principles. The repository is structured into weekly labs, each focusing on different design principles and best practices.

📌 Topics Covered

Week 1: Object-Oriented Basics & Principles

  • Composition vs Inheritance (Example01BeforeComposition, Example01AfterComposition)
  • Single Responsibility Principle (SRP) (Example02ViolationOfSingleResponsibility, Example02SolutionUsingSingleResponsibility)
  • Inversion of Control (IoC) and Dependency Injection (DI) (Example03BeforeIoC, Example03AfterIoC)
  • Filter Pattern (Example04)

Week 2: SOLID Principles

  • Liskov Substitution Principle (LSP) (Example01Before, Example01After)
  • Interface Segregation Principle (ISP) (Example02Before, Example02After)
  • Dependency Inversion Principle (DIP) (Example03Before, Example03After)
  • Singleton & Database Connection Example (Example04Before, Example04After)

Week 3: Design Patterns

  • Factory Pattern (Example01, Example02MethodParameter, Example02SeparateMethods)
  • Prototype Pattern (Example03)
  • Connection Pool (Singleton & Prototype Combination) (Example04)

⚙️ Setup & Execution

This project uses Maven for dependency management. Ensure you have Java 17 installed.

Clone Repository

git clone https://github.com/zahidesad/software_modelling_and_design.git
cd software_modelling_and_design

About

Examples About Software Modelling and Design Course

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages