Skip to content

Commit b9940f9

Browse files
committed
Add README.
1 parent caea3ca commit b9940f9

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

patterns/facade/conceptual/README.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Facade pattern
2+
Facade is a structural design pattern that provides a simplified interface to a library, a
3+
framework, or any other complex set of classes.
4+
5+
Tutorial: [here](https://refactoring.guru/design-patterns/facade).
6+
7+
### About example.
8+
This the very conceptual example rewrite from original source code [java example](https://github.com/RefactoringGuru/design-patterns-java/tree/main/src/refactoring_guru/facade/example)
9+
10+
### Diagram:
11+
![image](https://user-images.githubusercontent.com/8049534/183629745-a62d81be-f640-48e8-b70c-00d6cf59aa5f.png)
12+
13+
### Client code:
14+
```dart
15+
void main() {
16+
final converter = VideoConversionFacade();
17+
final mp4Video = converter.convertVideo("youtubevideo.ogg", "mp4");
18+
// ...;
19+
}
20+
```
21+
22+
### Output:
23+
```
24+
VideoConversionFacade: conversion started.
25+
CodecFactory: extracting ogg audio...
26+
BitrateReader: reading file...
27+
BitrateReader: writing file...
28+
AudioMixer: fixing audio...
29+
VideoConversionFacade: conversion completed.
30+
```

0 commit comments

Comments
 (0)