提示,代码实现仅有js的会使用ts编写,涉及交互的使用react编写ui
设计模式有五大原则
SOLID原则由5个设计原则构成SRP单一职责原则 OCP开闭原则 LSP里氏替换原则 ISP接口隔离原则 DIP依赖反转原则
每一个类,模块都要有明确的定义,不应大而全,而要功能单一,以较小的粒度负责单一职责
以此避免不相关的代码耦合在一起,实现高内聚低耦合
类、模块及方法等应对扩展开放,对修改关闭,意思就是可以扩展功能,但不能修改已有的功能
添加新功能也应该在不改动原有功能的情况下扩展已有代码,比如使用高阶函数、继承类或是扩展方法,而不是修改现有代码
这样可以实现代码的扩展性(可能会带来屎山,但至少可以让原本的功能仍然生效)
任何基类可以出现的地方,子类都可以出现,子类对象可以替换基类对象而不影响程序的正确性
也就是说,子类的行为应与父类一致
接口的功能应尽可能的简单,不要让一个接口完成一些多余的功能
比如一个接口可以同时获得文件列表和文件metadata,但如果有些场景只需要文件列表,那就需要拆分为两个函数
查询文件列表的函数
查询文件metadata的函数
这样就完成了接口的隔离
高层模块不要依赖底层模块,不同层之间通过抽象出的接口来依赖,不要通过实现来依赖‘
面向接口变成,依赖抽象而不是具体