JavaScript设计模式精华摘抄(持续更新...)-考拉阅读前端团队-SegmentFault思否
程序员文章站
2023-11-09 23:06:58
1.面向对象设计鼓励将行为分布到细粒度的对象之中,如果一个对象承担的职责过多,等于把这些职责耦合到了一起
2.静态语言在编译的时候就已经确定了变量的类型,而动态语言的变量类型是要到...
1.面向对象设计鼓励将行为分布到细粒度的对象之中,如果一个对象承担的职责过多,等于把这些职责耦合到了一起
2.静态语言在编译的时候就已经确定了变量的类型,而动态语言的变量类型是要到了运行时待变量被赋予某个值之后,才会有变量类型
3.鸭子类型(dake typing):如果它走起路来像鸭子,叫起来也像鸭子,那么它就是鸭子
4.把不变的地方隔离出来,把可变的部分封装起来,这给予了我们扩展程序的能力,程序看起来是可生长的,也是符合开放-封闭原则的,兼顾优雅与安全
5.多态是面向对象中最重要的技术
6.“做什么”和“怎么去做”是可以分开的
7.封装:通过封装的变化方式,把中稳定不变的部分和容易变化的部分隔离开来,在系统的演变过程中,我们只需要替换掉那些容易变化的部分
8.单例模式:保证一个类只有一个实例,并且提供一个访问它的全局访问节点
9.策略模式:策略模式利用组合、委托、多态等技术和思想,可以避免多重条件选择语句,对开放封闭原则完美支持
10.迭代器模式是指提供一个方法顺序访问一个聚合对象中的各个元素,而且又不需要暴露该对象的内部表示