java设计模式及其原则(未完)
设计模式遵循六大原则
- 里氏替换原则
子类可以扩展父类的功能,但不能改变父类原有的功能。它包含以下4层含义:
子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法。
子类中可以增加自己特有的方法。
当子类的方法重载父类的方法时,方法的前置条件(即方法的形参)要比父类方法的输入参数更宽松。
当子类的方法实现父类的抽象方法时,方法的后置条件(即方法的返回值)要比父类更严格。
- 依赖倒置原则
高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。依赖倒置原则的核心思想是面向接口编程
- 接口隔离原则
客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。
- 迪米特法则
一个对象应该对其他对象保持最少的了解
- 开闭原则
一个软件实体如类、模块和函数应该对扩展开放,对修改关闭
- 单一职责原则
即一个类只负责一项职责。
26种设计模式(分类概述)
创建型模式
单例模式,工厂模式(简单工厂模式,工厂方法模式),抽象工厂模式,建造者模式,原型模式
结构型模式
适配器模式,桥接模式,装饰模式,组合模式,外观模式,享元模式,代理模式
行为型模式
模板方法模式,命令模式,迭代器模式,观察者模式,中介者模式,备忘录模式,解释器模式,状态模式,策略模式,职责链模式,访问者模式
26种设计模式(详细介绍)
抽象工厂模式
类图结构示意