An open API service indexing awesome lists of open source software.

https://github.com/lebrancconvas/design-pattern-laboratory

Design Pattern Lab for Design Pattern Class.
https://github.com/lebrancconvas/design-pattern-laboratory

college-project design-patterns java lab laboratory object-oriented-programming oop solid-principles

Last synced: 2 months ago
JSON representation

Design Pattern Lab for Design Pattern Class.

Awesome Lists containing this project

README

          

# Design Pattern for Object-Oriented Programming

## Overview

Design Pattern Lab to practice my design pattern implement on OOP.

## E-Books

- [EN: Design Patterns: Elements of Reuseable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissdes](http://www.javier8a.com/itc/bd1/articulo.pdf)

## List

- ### [Lab01: SOLID Design (Part 1 - S, O)](https://github.com/lebrancconvas/Design-Pattern-Laboratory/tree/master/Lab01)

- [S: Single Responsibility Principle](https://github.com/lebrancconvas/Design-Pattern-Laboratory/blob/master/Lab01/src/SOLID_S.java)
- [O: Open-Closed Principle](https://github.com/lebrancconvas/Design-Pattern-Laboratory/blob/master/Lab01/src/SOLID_O.java)

- ### [Lab02: SOLID Design (Part 2 - L, I, D)](https://github.com/lebrancconvas/Design-Pattern-Laboratory/tree/master/Lab02)

- [L: Liskov Substitution Principle](https://github.com/lebrancconvas/Design-Pattern-Laboratory/blob/master/Lab02/src/SOLID_L.java)
- [I: Interface Sagregation Principle](https://github.com/lebrancconvas/Design-Pattern-Laboratory/blob/master/Lab02/src/SOLID_I.java)
- [D: Dependency Inversion Principle](https://github.com/lebrancconvas/Design-Pattern-Laboratory/blob/master/Lab02/src/SOLID_D.java)

- ### [Lab03: Composite & Strategy](https://github.com/lebrancconvas/Design-Pattern-Laboratory/tree/master/Lab03)

- [Composite Pattern](https://github.com/lebrancconvas/Design-Pattern-Laboratory/blob/master/Lab03/src/Composite.java)
- [Strategy Pattern](https://github.com/lebrancconvas/Design-Pattern-Laboratory/blob/master/Lab03/src/Strategy.java)

- ### [Lab04: Decorator & Abstract Factory](https://github.com/lebrancconvas/Design-Pattern-Laboratory/tree/master/Lab04)

- [Decorator Pattern](https://github.com/lebrancconvas/Design-Pattern-Laboratory/blob/master/Lab04/src/Decorator.java)
- [Abstract Factory Pattern](https://github.com/lebrancconvas/Design-Pattern-Laboratory/blob/master/Lab04/src/AbstractFactory.java)

- ### [Lab05: Bridge & Command](https://github.com/lebrancconvas/Design-Pattern-Laboratory/tree/master/Lab05)

- [Bridge Pattern](https://github.com/lebrancconvas/Design-Pattern-Laboratory/blob/master/Lab05/src/Bridge.java)
- [Command Pattern](https://github.com/lebrancconvas/Design-Pattern-Laboratory/blob/master/Lab05/src/Command.java)

- ### [Lab06: Memento, Prototype, and Singleton](https://github.com/lebrancconvas/Design-Pattern-Laboratory/tree/master/Lab06)

- [Memento Pattern](https://github.com/lebrancconvas/Design-Pattern-Laboratory/blob/master/Lab06/src/Memento.java)
- [Prototype Pattern](https://github.com/lebrancconvas/Design-Pattern-Laboratory/blob/master/Lab06/src/Prototype.java)
- [Singleton Pattern](https://github.com/lebrancconvas/Design-Pattern-Laboratory/blob/master/Lab06/src/Singleton.java)

- ### [Lab07: Builder, Iterator, and Chain of Responsibilities](https://github.com/lebrancconvas/Design-Pattern-Laboratory/tree/master/Lab07)

- [Builder Pattern](https://github.com/lebrancconvas/Design-Pattern-Laboratory/blob/master/Lab07/src/Builder.java)
- [Iterator Pattern](https://github.com/lebrancconvas/Design-Pattern-Laboratory/blob/master/Lab07/src/Iterator.java)
- [Chain of Responsibilities Pattern](https://github.com/lebrancconvas/Design-Pattern-Laboratory/blob/master/Lab07/src/CoR.java)

- ### [Lab08: Interpreter and Visitor](https://github.com/lebrancconvas/Design-Pattern-Laboratory/tree/master/Lab08)

- [Interpreter Pattern](https://github.com/lebrancconvas/Design-Pattern-Laboratory/blob/master/Lab08/src/Interpreter.java)
- [Visitor Pattern](https://github.com/lebrancconvas/Design-Pattern-Laboratory/blob/master/Lab08/src/Visitor.java)