# typescript-feautre-designpattern-lib **Repository Path**: lian_1998/typescript-feautre-designpattern-libs ## Basic Information - **Project Name**: typescript-feautre-designpattern-lib - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-25 - **Last Updated**: 2026-03-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # TypeScript Study Template This project is a lightweight study playground for: - object-oriented design patterns - TypeScript language features - experimenting with small, isolated examples ## Quick start ```bash pnpm install pnpm dev pnpm dev strategy pnpm check pnpm build pnpm start observer ``` ## Structure ```text src/ core/ shared demo types patterns/ OOP design pattern examples behavioral/ creational/ structural/ features/ TypeScript feature examples index.ts CLI runner registry.ts demo registry ``` ## Included demos Patterns: - Creational: `abstract-factory`, `builder`, `factory-method`, `prototype`, `singleton` - Structural: `adapter`, `bridge`, `composite`, `decorator`, `facade`, `flyweight`, `proxy` - Behavioral: `chain-of-responsibility`, `command`, `interpreter`, `iterator`, `mediator`, `memento`, `observer`, `state`, `strategy`, `template-method`, `visitor` Features: - `advanced-types` - `awaited-return-type` - `conditional-infer` - `const-assertions` - `discriminated-unions` - `function-overloads` - `generics` - `keyof-indexed-access` - `mixins` - `satisfies-operator` - `template-literal-types` - `tuples-variadic` - `type-guards` - `unknown-never` - `utility-types` ## How to extend 1. Add a new file under `src/patterns` or `src/features`. 2. Export a `DemoModule`. 3. Register it in `src/registry.ts`. 4. Run `pnpm dev `. ## Suggested study directions - Compare inheritance vs composition. - Replace classes with interfaces and factories. - Add tests for each pattern. - Explore decorators, metadata, and reflection when needed.