什麽是设计模式?
在软件工程中,设计模式(design pattern)是对软件设计中普遍存在(反覆出现)的各种问题,所提出的解决方案。这个术语是由埃里希·伽玛(Erich Gamma)等人在1990年代从建筑设计领域引入到电脑科学的。
设计模式并不直接用来完成程序码的编写,而是描述在各种不同情况下,要怎麽解决问题的一种方案。物件导向设计模式通常以类别或物件来描述其中的关系和相互作用,但不涉及用来完成应用程序的特定类别或物件。设计模式能使不稳定依赖於相对稳定、具体依赖於相对抽象,避免会引起麻烦的紧耦合,以增强软件设计面对并适应变化的能力。
并非所有的软件模式都是设计模式,设计模式特指软件「设计」层次上的问题。还有其他非设计模式的模式,如架构模式。同时,演算法不能算是一种设计模式,因为演算法主要是用来解决计算上的问题,而非设计上的问题。
-- by wikipedia 设计模式 (电脑)
为什麽需要设计模式?
当产品需求有变动时,代表程序码也需要作出相对应的更动,让功能能顺利上线验收;而程序码变更的潜在风险就是不知道何时会引发陈年技术债(omg),需要想办法降低修改程序码而导致 bug 产生的可能性,这时候可以参考设计模式寻找解法!
使用设计模式前,先了解物件导向设计的 5 大基本原则
wikipedia 物件导向设计
SOLID 设计原则-SRP、OCP、LSP、ISP、DIP
设计模式三类别
Swift 常见的设计模式
结语
希望能在新手时期打底观念,在未来写出一个乾净、有弹性且好测试的程序!
<<: Progressive Web App 个案分析: 乐天 24 导入 PWA 後带来的好处 (10)
>>: 不只懂 Vue 语法:为什麽要用 Vuex? Vuex 基本架构是怎样?
MVC是什麽 MVC是一种软件架构,着重在关注点分离,此架构分成三类 M : Model : 专注於...
今日题目 题目连结:1863. Sum of All Subset XOR Totals 题目主题:...
自己的工作生涯,从切版走向串接的第一年, 而还在切版时期,我所想像的前端工程师就是切版+串接, 我已...
manageGaugeVisibility方法 bitmapHeight方法 bitmapWidth...
今天要开始实作登入页面,首先我们先新增一个login元件 ng generate component...