摘要:
定义 桥接模式(Bridge),将抽象部分与实现部分分离,使他们可以独立的变化。 这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。 桥接模式需要一个 桥,来连接抽象部分和实现部分。 桥接模式,在系统中沿着多个维度变化,不仅不会增加系统的复杂度,还可以达到解 阅读全文
摘要:
定义: 抽象工厂其实是实现子类继承父类的方法,只是一个方法。抽象工厂模式一般用在多人协作的超大型项目中,并且严格的要求项目以面向对象的思想进行完成。 简单工厂模式和工厂模式都是直接生产实例的,抽象工厂更像是生产工厂,其实抽象工厂其实是实现子类继承父类的方法。 说白了 抽象工厂模式 我认为就是工厂功能 阅读全文
摘要:
设计模式总结 设计原则和编程技巧单一职责原则(SRP)定义设计模式中体现何时应该分离职责SRP 原则的优缺点 最少知识原则(LKP)- 迪米特法则定义设计模式中体现封装在最少知识原则中的体现 开放-封闭原则定义最佳实践(帮助我们编写遵守开放-封闭原则的代码)设计模式中体现接受第一次愚弄开放- 封闭原 阅读全文
摘要:
适配器模式的作用是解决两个软件实体间的接口不兼容的问题。使用适配器模式之后,原本由于接口不兼容而不能工作的两个软件实体可以一起工作。 适配者模式: 主要用于解决两个接口之间不匹配的问题。 例子: 我们向 googleMap 和 baiduMap 都发出“显示”请求时, googleMap和 baid 阅读全文
摘要:
状态模式的关键是区分事物内部的状态,事物内部状态的改变往往会带来事物的行为改变。 状态模式: 将事物内部的每个状态分别封装成类, 内部状态改变会产生不同行为。 通常我们谈到封装,一般都会优先封装对象的行为,而不是对象的状态。但在状态模式中刚好相反,状态模式的关键是把事物的每种状态都封装成单独的类,跟 阅读全文
摘要:
装饰者模式(使用装饰函数装饰对象)可以动态地给某个对象添加一些额外的职责,而不会影响从这个类中派生的其他对象 在 JavaScript 中,几乎一切都是对象,其中函数又被称为一等对象。在平时的开发工作中,也许大部分时间都在和函数打交道。在 JavaScript 中可以很方便地给某个对象扩展属性和方法 阅读全文
摘要:
职责链模式的定义是:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系,将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 职责链模式的名字非常形象,一系列可能会处理请求的对象被连接成一条链,请求在这些对象之间依次传递,直到遇到一个可以处理它的对象,我们把这 阅读全文
摘要:
享元模式是一种优化程序性能的模式, 本质为减少对象创建的个数。 享元模式的核心是运用共享技术来有效支持大量细粒度的对象。 如果系统中因为创建了大量类似的对象而导致内存占用过高,享元模式就非常有用了。 例子: 某商家有 50 种男款内衣和 50 种款女款内衣, 要展示它们 传统方式: 造 50 个塑料 阅读全文
摘要:
组合模式将对象组合成树形结构,以表示“部分-整体”的层次结构。 除了用来表示树形结构之外,组合模式的另一个好处是通过对象的多态性表现,使得用户对单个对象和组合对象的使用具有一致性 表示树形结构 提供了一种遍历树形结构的方案,通过调用组合对象的 execute(泛指) 方法,程序会递归调用组合对象下面 阅读全文
摘要:
命令模式 基于面向对象的命令模式JavaScript 中的命令模式智能命令与傻瓜命令 命令模式最常见的应用场景是:有时候需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是什么。此时希望用一种松耦合的方式来设计程序,使得请求发送者和请求接收者能够消除彼此之间的耦合关系。 命令 阅读全文