设计模式
- 开闭模式 open close principle
对扩展开放,对修改关闭 - 里氏代换原则 liskov substitution principle
任何基类可以出现的地方,派生类一定可以出
现– 即基类可被派生类替换 - 依赖倒转原则 Dependence Inversion Principle
针对接口编程,依赖抽象而不依赖具体 - 接口隔离原则(Interface Segregation Principle)
使用多个隔离的接口,比使用单个接口要好
降低类之间的耦合度 - 最小知道原则(Demeter Principle)
一个实体应当尽量少地与其他实体发生作用
系统功能模块应相对独立 - 合成复用原则(Composite Reuse Principle)
尽量使用合成/聚合的方式,而不是使用继承
单例模式
全局只有一个实例
- 应用场景
输入法和全局配置参数
该实现方式在多线程场景下不安全
class Singleton:
_instance=None