Skip to content
使用JavaScript实现各种设计模式样例。
JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Example
.gitignore
README.md

README.md

License MIT License

JavaScript 设计模式样例

参考《大话设计模式》

创建型模式(Creational Pattern)

工厂模式(Factory Pattern)

定义:定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类。工厂方法让类的实例化推迟到子类中进行。  
目的:工厂模式是为了解耦,把对象的创建和使用的过程分开。
场景:需要生成复杂对象,需要降低耦合度的场景。

工厂方法模式(Factory Method Pattern)

单例模式(Singleton Pattern)

建造者模式(Builder Pattern)

抽象工厂模式(Abstract Factory Pattern)

原型模式(Prototype Pattern)


结构型模式(Structural Pattern)

适配器模式(Adapter Pattern)

桥接模式(Bridge Pattern)

组合模式(Composite Pattern)

装饰模式(Decorator Pattern)

定义:在不改变原对象的情况下,动态的给对象添加一些额外的职责。就功能而言,装饰模式相比生成子类更为灵活。
目的:把类的核心职责和装饰功能区分开。可以去除相关类中重复的逻辑。
场景:当系统需要扩展一个类的功能,或者客户端需要动态的给一个对象添加功能,并且使用继承或生成子类会很复杂的时候。
装饰模式体现了"多用组合,少用继承"这一设计原则。

外观模式(Facade Pattern)

享元模式(Flyweight Pattern)


行为模式(Behavioral Pattern)

策略模式(Strategy Pattern)

定义:定义了一族算法; 封装了每个算法; 这族的算法可互换代替。
目的:将算法的使用与算法的实现分离开来。
场景:可用来消除大量的条件分支语句。

模版方法模式(Template Method Pattern)

观察者模式(Observer Pattern)

状态模式(State Pattern)

备忘录模式(Memento Pattern)

迭代器模式(Iterator Pattern)

命令模式(Command Pattern)

职责链模式(Chain of Responsibility Pattern)

中介者模式(Mediator Pattern)

解释器模式(Interpreter Pattern)

访问者模式(Visitor Pattern)

You can’t perform that action at this time.