Skip to content

Commit

Permalink
structural design patterns skeleton
Browse files Browse the repository at this point in the history
  • Loading branch information
saltukalakus committed Jan 2, 2025
1 parent a97615a commit be15d8e
Show file tree
Hide file tree
Showing 10 changed files with 38 additions and 3 deletions.
10 changes: 9 additions & 1 deletion src/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,4 +64,12 @@
- [Chain of Responsibility](./patterns/behavioral/chain-of-responsibility.md)
- [Iterator](./patterns/behavioral/iterator.md)
- [Mediator](./patterns/behavioral/mediator.md)
- [Visitor](./patterns/behavioral/visitor.md)
- [Visitor](./patterns/behavioral/visitor.md)
- [Structural](./patterns/structural/intro.md)
- [Adapter](./patterns/structural/adapter.md)
- [Bridge](./patterns/structural/bridge.md)
- [Composite](./patterns/structural/composite.md)
- [Decorator](./patterns/structural/decorator.md)
- [Facade](./patterns/structural/facade.md)
- [Flyweight](./patterns/structural/flyweight.md)
- [Proxy](./patterns/structural/proxy.md)
5 changes: 3 additions & 2 deletions src/patterns/intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ Patterns help to have reusable solutions to common problems that occur in softwa

1- [Creational Patterns](./creational/intro.md): Deal with object creation mechanisms, trying to create objects in a manner suitable to the situation.

2- Structural Patterns: Deal with object composition or the structure of classes and objects.
2- [Behavioral Patterns](./behavioral/intro.md): Deal with object collaboration and the delegation of responsibilities.

3- [Structural Patterns](./structural/intro.md): Deal with object composition or the structure of classes and objects.

3- [Behavioral Patterns](./behavioral/intro.md): Deal with object collaboration and the delegation of responsibilities.
1 change: 1 addition & 0 deletions src/patterns/structural/adapter.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Adapter
1 change: 1 addition & 0 deletions src/patterns/structural/bridge.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Bridge
1 change: 1 addition & 0 deletions src/patterns/structural/composite.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Composite
1 change: 1 addition & 0 deletions src/patterns/structural/decorator.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Decorator
1 change: 1 addition & 0 deletions src/patterns/structural/facade.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Facade
1 change: 1 addition & 0 deletions src/patterns/structural/flyweight.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Flyweight
19 changes: 19 additions & 0 deletions src/patterns/structural/intro.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
### Structural Patterns

Structural Patterns deal with object composition, trying to realize new functionality by composing objects in various ways.

### Some Common Structural Design Patterns

1- [Adapter](./adapter.md): Allows objects with incompatible interfaces to work together by wrapping their own interface around that of an already existing class.

2- [Bridge](./bridge.md): Decouples an abstraction from its implementation so that the two can vary independently.

3- [Composite](./composite.md): Composes objects into tree structures to represent part-whole hierarchies, allowing clients to treat individual objects and compositions uniformly.

4- [Decorator](./decorator.md): Adds additional responsibilities to an object dynamically, providing a flexible alternative to subclassing for extending functionality.

5- [Facade](./facade.md): Provides a simplified interface to a complex subsystem, making it easier to use.

6- [Flyweight](./flyweight.md): Reduces the cost of creating and manipulating a large number of similar objects by sharing as much data as possible.

7- [Proxy](./proxy.md): Provides a surrogate or placeholder for another object to control access to it.
1 change: 1 addition & 0 deletions src/patterns/structural/proxy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Proxy

0 comments on commit be15d8e

Please sign in to comment.