On this page
https://javascriptpatterns.vercel.app/patterns
设计方法
Design by Contract
Convention Over Configuration 约定优于配置
https://en.wikipedia.org/wiki/Convention_over_configuration
设计原则
SOLID
- Single Responsibility Principle (SRP) 单一责任原则 (SRP)
- 一个类应该只有一个更改的理由
- 每门课都应该专注于做好一件事
- Open/Closed Principle (OCP) 开/闭原则 (OCP)
- 软件实体应开放以供扩展,但应关闭以供修改
- 使用接口和抽象类允许在不更改现有代码的情况下添加新功能
- Liskov Substitution Principle (LSP) 里氏替换原则 (LSP)
- 超类的对象应该可以替换为其子类的对象,而不会影响程序的正确性
- 确保继承的类在不替换旧类的功能的情况下进行扩展
- Interface Segregation Principle (ISP) 接口隔离原则 (ISP)
- 许多特定于客户端的接口比一个通用接口更好
- 保持界面小、专注和具体
- Dependency Inversion Principle (DIP) 依赖反转原则 (DIP)
- 高级模块不应依赖于低级模块。两者都应该依赖于抽象
- 抽象不应依赖于细节。细节应取决于抽象
- 使用依赖注入解耦组件
设计模式
依赖注入
关注点分离
DRY
ETC
最少知识原则(迪米特法则)
组合优于继承
类与组合
https://medium.com/@dan_abramov/how-to-use-classes-and-sleep-at-night-9af8de78ccb4
12-Factor 为构建如下的 SaaS 应用提供了方法论: https://12factor.net/zh_cn/