区块链技术博客
www.b2bchain.cn

软件修养 — 一篇搞定 23 种设计模式(TypeScript)求职学习资料

本文介绍了软件修养 — 一篇搞定 23 种设计模式(TypeScript)求职学习资料,有助于帮助完成毕业设计以及求职,是一篇很好的资料。

对技术面试,学习经验等有一些体会,在此分享。

前言

近期开始使用 TypeScript 替换 JavaScript 做前端项目。为了熟悉 TypeScript 并回顾设计模式,笔者整理了设计模式原则常用的 23 种设计模式的 TypeScript 实现

代码仓库:https://github.com/CatchZeng/typescript-design-patterns

设计模式原则

单一职责原则(Single Responsibility Principle)

一个类只负责一项职责(只有一个发生变化的原因)

开闭原则(Open-Closed Principle)

扩展开放,对修改封闭

里氏替换原则(Liskov Substitution Principle)

基类适用的,子类一定适用(子类可以扩展父类的功能,但不能改变父类原有的功能)

依赖倒置原则(Dependence Inversion Principle)

依赖抽象,不要依赖具体(面向接口编程

迪米特原则(Law Of Demeter)

一个对象应该对其他对象尽可能少的了解(最少知道

接口隔离原则(Interface Segregation Principle)

使用多个专门的接口,而不要使用一个单一的(大)接口(接口单一职责

组合/聚合复用原则 (Composite/Aggregate Reuse Principle)

尽量使用组合/聚合,而不是继承

23 种常用设计模式

创建型

工厂方法模式 (Factory Method)

定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类。工厂方法让类的实例化推迟到子类中进行

软件修养 -- 一篇搞定 23 种设计模式(TypeScript)

抽象工厂模式 (Abstract Factory)

为一个产品族提供了统一的创建接口。当需要这个产品族的某一系列的时候,可以从抽象工厂中选出相应的系列创建一个具体的工厂类,而无需指定它们的具体类

软件修养 -- 一篇搞定 23 种设计模式(TypeScript)

创建者/生成器模式 (Builder)

将一个复杂对象构建与它的表示分离,使得同样的构建过程可以创建不同的表示

软件修养 -- 一篇搞定 23 种设计模式(TypeScript)

原型模式 (Prototype)

用原型实例指定创建对象的种类,并且通过拷贝这些原型,创建新的对象

软件修养 -- 一篇搞定 23 种设计模式(TypeScript)

单例模式 (Singleton)

确保一个类只有一个实例,并提供对该实例的全局访问

软件修养 -- 一篇搞定 23 种设计模式(TypeScript)

结构型

外观模式 (Facade)

为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用

软件修养 -- 一篇搞定 23 种设计模式(TypeScript)

适配器模式 (Adapter/Wrapper/Translator)

将某个类的接口转换成客户端期望的另一个接口表示。适配器模式可以消除由于接口不匹配所造成的类兼容性问题

软件修养 -- 一篇搞定 23 种设计模式(TypeScript)

代理模式 (Proxy)

为其他对象提供一个代理控制对这个对象的访问

软件修养 -- 一篇搞定 23 种设计模式(TypeScript)

组合模式 (Composite)

把多个对象组成树状结构来表示局部整体,这样用户可以一样的对待单个对象和对象的组合

前言

近期开始使用 TypeScript 替换 JavaScript 做前端项目。为了熟悉 TypeScript 并回顾设计模式,笔者整理了设计模式原则常用的 23 种设计模式的 TypeScript 实现

代码仓库:https://github.com/CatchZeng/typescript-design-patterns

设计模式原则

单一职责原则(Single Responsibility Principle)

一个类只负责一项职责(只有一个发生变化的原因)

开闭原则(Open-Closed Principle)

扩展开放,对修改封闭

里氏替换原则(Liskov Substitution Principle)

基类适用的,子类一定适用(子类可以扩展父类的功能,但不能改变父类原有的功能)

依赖倒置原则(Dependence Inversion Principle)

依赖抽象,不要依赖具体(面向接口编程

迪米特原则(Law Of Demeter)

一个对象应该对其他对象尽可能少的了解(最少知道

接口隔离原则(Interface Segregation Principle)

使用多个专门的接口,而不要使用一个单一的(大)接口(接口单一职责

组合/聚合复用原则 (Composite/Aggregate Reuse Principle)

尽量使用组合/聚合,而不是继承

23 种常用设计模式

创建型

工厂方法模式 (Factory Method)

定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类。工厂方法让类的实例化推迟到子类中进行

软件修养 -- 一篇搞定 23 种设计模式(TypeScript)

抽象工厂模式 (Abstract Factory)

为一个产品族提供了统一的创建接口。当需要这个产品族的某一系列的时候,可以从抽象工厂中选出相应的系列创建一个具体的工厂类,而无需指定它们的具体类

软件修养 -- 一篇搞定 23 种设计模式(TypeScript)

创建者/生成器模式 (Builder)

将一个复杂对象构建与它的表示分离,使得同样的构建过程可以创建不同的表示

软件修养 -- 一篇搞定 23 种设计模式(TypeScript)

原型模式 (Prototype)

用原型实例指定创建对象的种类,并且通过拷贝这些原型,创建新的对象

软件修养 -- 一篇搞定 23 种设计模式(TypeScript)

单例模式 (Singleton)

确保一个类只有一个实例,并提供对该实例的全局访问

软件修养 -- 一篇搞定 23 种设计模式(TypeScript)

结构型

外观模式 (Facade)

为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用

软件修养 -- 一篇搞定 23 种设计模式(TypeScript)

适配器模式 (Adapter/Wrapper/Translator)

将某个类的接口转换成客户端期望的另一个接口表示。适配器模式可以消除由于接口不匹配所造成的类兼容性问题

软件修养 -- 一篇搞定 23 种设计模式(TypeScript)

代理模式 (Proxy)

为其他对象提供一个代理控制对这个对象的访问

软件修养 -- 一篇搞定 23 种设计模式(TypeScript)

组合模式 (Composite)

把多个对象组成树状结构来表示局部整体,这样用户可以一样的对待单个对象和对象的组合

前言

近期开始使用 TypeScript 替换 JavaScript 做前端项目。为了熟悉 TypeScript 并回顾设计模式,笔者整理了设计模式原则常用的 23 种设计模式的 TypeScript 实现

代码仓库:https://github.com/CatchZeng/typescript-design-patterns

设计模式原则

单一职责原则(Single Responsibility Principle)

一个类只负责一项职责(只有一个发生变化的原因)

开闭原则(Open-Closed Principle)

扩展开放,对修改封闭

里氏替换原则(Liskov Substitution Principle)

基类适用的,子类一定适用(子类可以扩展父类的功能,但不能改变父类原有的功能)

依赖倒置原则(Dependence Inversion Principle)

依赖抽象,不要依赖具体(面向接口编程

迪米特原则(Law Of Demeter)

一个对象应该对其他对象尽可能少的了解(最少知道

接口隔离原则(Interface Segregation Principle)

使用多个专门的接口,而不要使用一个单一的(大)接口(接口单一职责

组合/聚合复用原则 (Composite/Aggregate Reuse Principle)

尽量使用组合/聚合,而不是继承

23 种常用设计模式

创建型

工厂方法模式 (Factory Method)

定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类。工厂方法让类的实例化推迟到子类中进行

软件修养 -- 一篇搞定 23 种设计模式(TypeScript)

抽象工厂模式 (Abstract Factory)

为一个产品族提供了统一的创建接口。当需要这个产品族的某一系列的时候,可以从抽象工厂中选出相应的系列创建一个具体的工厂类,而无需指定它们的具体类

软件修养 -- 一篇搞定 23 种设计模式(TypeScript)

创建者/生成器模式 (Builder)

将一个复杂对象构建与它的表示分离,使得同样的构建过程可以创建不同的表示

软件修养 -- 一篇搞定 23 种设计模式(TypeScript)

原型模式 (Prototype)

用原型实例指定创建对象的种类,并且通过拷贝这些原型,创建新的对象

软件修养 -- 一篇搞定 23 种设计模式(TypeScript)

单例模式 (Singleton)

确保一个类只有一个实例,并提供对该实例的全局访问

软件修养 -- 一篇搞定 23 种设计模式(TypeScript)

结构型

外观模式 (Facade)

为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用

软件修养 -- 一篇搞定 23 种设计模式(TypeScript)

适配器模式 (Adapter/Wrapper/Translator)

将某个类的接口转换成客户端期望的另一个接口表示。适配器模式可以消除由于接口不匹配所造成的类兼容性问题

软件修养 -- 一篇搞定 23 种设计模式(TypeScript)

代理模式 (Proxy)

为其他对象提供一个代理控制对这个对象的访问

软件修养 -- 一篇搞定 23 种设计模式(TypeScript)

组合模式 (Composite)

把多个对象组成树状结构来表示局部整体,这样用户可以一样的对待单个对象和对象的组合

部分转自互联网,侵权删除联系

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » 软件修养 — 一篇搞定 23 种设计模式(TypeScript)求职学习资料
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们