23种设计模式分类:
一、创建型模型(共五种):
二、结构性模型(共七种):
三、行为型模型(共十一种):
面向对象的六大原则:
- 单一职责原则(SRP):一个类不要太大,负责单一的职责,高内聚,低耦合,如果一个类负责的职责太多,尽量把类进行拆分
- 开闭原则(OCP):对扩展开放,对修改关闭(尽量在不要修改原来的代码的情况下进行扩展),抽象化,多态是开闭原则的关键
- 里氏替换原则(LSP):所有使用父类的地方,必须能够透明地使用子类对象,通俗点说就是父类定义时,调用子类不会产生任何错误或者异常,子类必须完全实现父类的方法,子类可以有自己的方法和属性,覆盖或实现父类的方法时输入参数可以放大。
- 依赖倒置原则(DIP):依赖抽象,而不是依赖具体,面向接口编程
- 接口隔离原则(ISP):每个接口应该承担独立的角色,避免子类实现不需要的实现的方法,需要对客户提供接口的时候,只需要暴露最小的接口,比如说我定义一个动物的接口,定义了fly()和run()两个方法,这时我要创建一个dog的类,实现这个动物接口中的run方法,可是也要把fly方法也实现了,那就违背了接口隔离原则了。
- 迪米特法则(LoD):一个类对自己需要耦合或者调用的类应该知道得最少,一个类只需要知道调用类的public方法即可,调用类中的复杂逻辑无须知道。