构建工具介绍 构建工具介绍什么是构建工具构建工具其实就是可以帮我们做一些流水线的累活,让我们可以专注写业务模块,它主要对浏览器无法识别的代码进行转译,代码分割,资源压缩等,最后生成可以被浏览器执行的文件,这个过程中也提供了一些优化开发体验的功能,比如模块化支持, DevServer 提供的跨域反向代理,HMR 热模块替换,模块构建缓存等各种功能提升项目整体开发到构建的体验 2023-11-24 Web -- Knowledge is infinite > 前端 > 构建相关 #构建相关
代码重构 代码重构定义设计模式和重构之间有着一种与生俱来的关系,从某种角度来看,设计模式的目的就是为许多重构行为提供目标,在实际应用开发中,除了使用设计模式之外,还有一些常见而容易忽略的细节,这些细节也是帮助达到重构目标的重要手段具体是否需要重构,以及如何进行重构,这需要根据系统的类型、项目工期、人力等外界因素一起决定 提炼 避免出现超大函数 独立出来了的函数有助于代码服用 独立出来的函数更容易被重写 独立 2023-11-24 Web -- Knowledge is infinite > 编程思想 > 设计原则和编程技巧 #设计原则和编程技巧
单一职责原则 SRP 单一职责原则 SRP定义单一职责原则 ( **Single responsibility principle **)被定义为引起变化的原因,如果有两个动机去改写一个方法,那么这个方法就有两个职责,每个职责都是变化的一个轴线,如果一个方法承担了过多的职责,那么在需求的变迁过程中,需要改写这个方法的可能性就越大当这个方法拥有过多的职责,就会变得不稳定,再想修改代码会变的很危险,特别是多个职责耦合在一起 2023-11-24 Web -- Knowledge is infinite > 编程思想 > 设计原则和编程技巧 #设计原则和编程技巧
好莱坞原则 好莱坞原则定义“不要调用我,我会调用你”好莱坞是演员的天堂,但好莱坞也有很好躲找不到工作的新人演员,许多新人演员在好莱坞把简历递给演艺公司之后就只有回家等电话的份,有时候演员等的不耐烦了,给演艺公司打电话询问情况,演艺公司往往这样回答:“不要来找我,我会给你打电话”在设计中,这样的规则就称为好莱坞原则,在这一原则的指导下,允许底层组件将自己挂钩到高层组件中,而高层组件会决定什么时候,以何种方式去使 2023-11-24 Web -- Knowledge is infinite > 编程思想 > 设计原则和编程技巧 #设计原则和编程技巧
开放-封闭原则 OCP 开放-封闭原则 OCP定义在面向对象的设计语言中,开放-封闭原则 (Open Closed Principle)是最重要的一条原则,很多时候,一个程序具有良好的设计,往往说明它是符合开放-封闭原则的开放-封闭原则最早是由 Eiffel 语言的设计者 Bertrand Meyer 在其著作 《Object-Oriented Software Construction》中提出的定义:“软件实体(类、模 2023-11-24 Web -- Knowledge is infinite > 编程思想 > 设计原则和编程技巧 #设计原则和编程技巧
接口和面向接口编程 接口和面向接口编程定义面向接口编程并不是面向实现编程,更多的是抽象接口和实现之间的契约表达 含义 第一种是常说的比如,一个库或者模块对外提供了 XX API 接口,通过主动暴露的接口来通信,可以隐藏软件系统的内部工作细节 第二种接口是一些语言提供的关键字,比如 TS 的 interface ,interface 关键字可以产生一个完全抽象的类型接口,这个完全抽象的类型接口表示一种契约,专门负责建立 2023-11-24 Web -- Knowledge is infinite > 编程思想 > 设计原则和编程技巧 #设计原则和编程技巧
最少知识原则 LKP 最少知识原则 LKP定义最少知识原则 ( Least Knowledge Principle )说的是一个软件实体应当尽可能少地与其他实体发生相互作用,这里的软件实体是一个广义的概念,不仅包括对象,也包括系统、类、函数、变量等比如《面向对象设计原理与模式》中提到}:“某军队中的将军需要挖掘一些散兵坑,下面是完成任务的一种方式:将军可以通知上校让他叫来少校,然后让少校叫来上尉,并让上尉通知一个军士 2023-11-24 Web -- Knowledge is infinite > 编程思想 > 设计原则和编程技巧 #设计原则和编程技巧
中介者模式 中介者模式定义在生活的世界中,每个人每个物体之间都会产生一些错综复杂的联系,在应用程序中也一样,程序由大大小小的单一对象组成,所有这些对象都按照某种关系和规则来通信现实中一个人大概只能记住 10 个朋友的电话,30家餐厅的位置,在程序里,也许一个对象会和其他 10 个对象交互,所以它会保持 10 个对象的引用,当程序的规模增大,对象会越来越多,它们之间的关系也越来越复杂,难免会形成网状的交叉引用, 2023-11-24 Web -- Knowledge is infinite > 编程思想 > 设计模式 #设计模式
享元模式 享元模式定义享元(flyweight)模式是一种用于性能优化的模式,“fly”在这里是苍蝇的意思,意为蝇量级,享元模式的核心是运用共享技术来有效支持大量细粒度的对象如果系统中因为创建了大量类似的对象而导致内存占用过高,享元模式就非常有用了,在 JS 中,特别是移动端浏览器分配的内存并不算多,如何节省内存就成了一件非常重要的事 内部状态与外部状态享元模式要求将对象的属性划分为内部状态与外部状态,享元 2023-11-24 Web -- Knowledge is infinite > 编程思想 > 设计模式 #设计模式
代理模式 代理模式定义代理模式是为一个对象提供一个代理品或占位符,以便控制对它的访问代理模式是一个非常有意义的模式,比如,明星都有经纪人作为代理,如果想请明星来办一场演出,只需要联系他的经纪人,经纪人会把商业演出的细节和报酬都谈好之后,再把合同交给明星签代理模式的关键是,当客户不方便直接访问一个对象或者不满足需要的时候,提供一个替身对象来控制对这个对象的访问,客户实际上访问的是替身对象,替身对象对请求做出一 2023-11-24 Web -- Knowledge is infinite > 编程思想 > 设计模式 #设计模式