Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mborne/pattern-strategy-ts
[ENSG] Annexes du cours-patron-conception illustrant l'intérêt du patron stratégie (voire différentes branches)
https://github.com/mborne/pattern-strategy-ts
Last synced: about 1 month ago
JSON representation
[ENSG] Annexes du cours-patron-conception illustrant l'intérêt du patron stratégie (voire différentes branches)
- Host: GitHub
- URL: https://github.com/mborne/pattern-strategy-ts
- Owner: mborne
- License: mit
- Created: 2024-09-15T21:00:52.000Z (4 months ago)
- Default Branch: initial
- Last Pushed: 2024-11-13T21:45:32.000Z (about 2 months ago)
- Last Synced: 2024-11-13T22:29:26.463Z (about 2 months ago)
- Language: TypeScript
- Homepage:
- Size: 1.83 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# strategy-pattern-ts
Illustration de l'intérêt du [patron de conception Strategy](https://mborne.github.io/cours-patron-conception/annexe/design_pattern/behavior/Strategy.html) par rapport à une approche basée sur le polymorphisme.
## Principe
Nous partons d'un projet où :
* [Application](./src/Application.ts) permet de flouter une image (`blur`).
* [cli.ts](cli.ts) expose cette application sous forme d'une API en ligne de commande :```bash
npx tsx cli.ts data/joconde.jpg data/joconde-blur.jpg
```Nous explorons plusieurs approches pour offrir un choix entre `blur` et `greyscale` :
* La branche ["heritage"](https://github.com/mborne/pattern-strategy-ts/tree/heritage#readme) correspond à une approche basée sur le polymorphisme au niveau de l'application ("Template Method")
* La branche ["strategie"](https://github.com/mborne/pattern-strategy-ts/tree/strategy#readme) correspond à une approche basée sur le patron de conception "Stratégie".## Licence
[MIT](LICENSE)