TypeScript 与设计模式 (一)

注意: 以下描述引用维基百科,为了方便此相关内容的背景了解

个人

最近我们项目使用了react native来开发APP,使用ts。作为学java出生的我,写了三年前端,感觉前端在这种抽象类,接口,范型之类的实现上根本就展不开手脚。当看到typescript,内心非常喜欢的,老程序猿都是喜形不露于色……没毛病。

很希望在使用react native 或者react时,能尊从设计模式,做一些简化代码,提高维护性的工作。

同时react native没有完整的框架,并不如jquery,各种成型的框架很多,所以开发过程中,我看到重复的代码就强迫症犯了,希望代码如果家里的小朋友的玩具,齐齐整整的。

此系列仅记录自己的学习进度,如有错误,请帮忙指正。

Typescript

TypeScript是一种由微软开发的自由开源的编程语言。它是JavaScript的一个严格超集,并添加了可选的静态类型和基于类的面向对象编程C#的首席架构师以及DelphiTurbo Pascal的创始人安德斯·海尔斯伯格参与了TypeScript的开发。

TypeScript设计目标是开发大型应用,然后转译成JavaScript。由于TypeScript是JavaScript的严格超集,任何现有的JavaScript程序都是合法的TypeScript程序。

TypeScript支持为现存JavaScript库添加类型信息的定义文件,方便其他程序像使用静态类型的值一样使用现有库中的值。目前有第三方提供常用库如jQueryMongoDBNode.jsD3.js的定义文件。

TypeScript编译器本身也是用TypeScript写成(见自举),并被转译为JavaScript,以Apache License 2发布

官网地址:

https://www.typescriptlang.org

https://www.tslang.cn

最新版本: 2.7

设计模式

    在软件工程中,设计模式design pattern是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。这个术语是由埃里希·伽玛(Erich Gamma等人在1990年代从建筑设计领域引入到计算机科学的。设计模式并不直接用来完成代码的编写,而是描述在各种不同情况下,要怎么解决问题的一种方案。面向对象设计模式通常以类别对象来描述其中的关系和相互作用,但不涉及用来完成应用程序的特定类别或对象。设计模式能使不稳定依赖于相对稳定、具体依赖于相对抽象,避免会引起麻烦的紧耦合,以增强软件设计面对并适应变化的能力。

设计模式发展历史

建筑师克里斯托佛·亚历山大在1977/79年编制了一本汇集设计模式的书,但是这种设计模式的思想在建筑设计领域里的影响远没有后来在软件开发领域里传播的广泛。

肯特·贝克沃德·坎宁安在1987年,利用克里斯托佛·亚历山大在建筑设计领域里的思想开发了设计模式并把此思想应用在Smalltalk中的图形用户接口(GUI)的生成中。一年后埃里希·伽玛在他的苏黎世大学博士毕业论文中开始尝试把这种思想改写为适用于软件开发。与此同时James Coplien 在1989年至1991年也在利用相同的思想致力于C++的开发,而后于1991年发表了他的著作Advanced C++ Programming Styles and Idioms。同年Erich Gamma 得到了博士学位,然后去了美国,在那与Richard Helm, Ralph Johnson ,John Vlissides 合作出版了《设计模式:可复用面向对象软件的基础》(Design Patterns - Elements of Reusable Object-Oriented Software) 一书,在此书中共收录了 23 种设计模式

这四位作者在软件开发领域里以“四人帮”(英语,Gang of Four,简称GoF)而闻名,并且他们在此书中的协作导致了软件设计模式的突破。有时,GoF也会用于代指《设计模式》这本书。

猜你喜欢

转载自blog.csdn.net/A_love_B/article/details/81171052