设计模式的分类:创建型,结构型,行为型(一共23种)
创建型(5种):提供创建对象的机制,来提升已有代码的灵活性和可复用性。
常用:单例模式,工厂模式(工厂方法和抽象工厂),建造者模式
单例模式:能够保证一个类只有一个实例,并提供一个访问该实例的全局节点。
建造者模式:使你能够分步骤创建复杂对象,该模式允许你使用相同的创建代码生成不同类型和形式的对象。
不常用:原型模式(复制)
结构型(7种):介绍如何将对象和类组装成较大的结构,并同时保持结构的灵活和高效。
常用:代理模式,桥接模式,装饰者模式,适配器模式
代理模式:让你能够提供对象的替代品或其占位符,代理控制着对于原对象的访问,并允许在将请求提交给对象前后进行一些处理。
适配器模式:让接口不兼容的对象能够相互合作。
不常用:外观模式,组合模式,享元模式
行为型(11种):负责对象之间的高效沟通和职责传递委派
常见 :观察者模式,模板模式,策略模式,责任链模式,迭代器模式,状态模式。
策略模式:能让你定义一系列算法,并将每种算法分别放入独立的类中,使得算法的对象能够相互替代。(解决某一类问题有多种方式)
不常用:访问者模式,备忘录模式,命令模式,解释器模式,中介模式。
八大设计原则
单一职责原则
开放封闭原则
里氏替换原则
接口分离原则
依赖倒置原则
迪米特法则
合成复用原则(Composition over Interitance)少继承,多聚合
KISS原则(Keep It Simple Stupid)