Teleology / ts-design

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Design Pattern

Typescript implementation of frequently used design Patterns

Key Concepts in Design Patterns

Implementation Method

  • Encapsulation
  • Inheritance
  • Polymorphism

Design Principles

  • Single Responsibility
    • one method shouldn't do too much staff
  • open for extension but closed for modification
  • Least Knowledge,
    • cut down the interaction between classes
  • Liskov Substitution Principle
    • use subtypes
  • Interface Segregation && Dependence Inversion
    • avoid fat interface
    • Interface-Oriented programming

Contents

Contents of Each Pattern

  • .md for explanation
  • .puml is PlantUML file
  • .ts Typescript implementations

UML

  • 依赖(Dependency): ..>
  • 泛化(Generalization): extends --|>
  • 实现(Realize): implements ..|>
  • 关联(Association): -->
  • 聚合(Aggregation):
  • 组合(Composition):

About

License:MIT License


Languages

Language:TypeScript 39.7%Language:JavaScript 35.5%Language:CSS 24.2%Language:HTML 0.6%