提到java设计模式,就得先说说它们的六大原则
- 依赖倒置原则:核心思想是面对接口编程,主要解决高层代码模块(例如controller层)对底层原子性代码模块(例如与数据库交互的操作,model层)的依赖问题,也就是底层模块 是基于对接口申明的功能的实现。好处是用底层模块去实现接口,不同的实现方式可以通过接口对象指向不同的实现类对象来达到降低对高层模块的修改。
- 接口隔离原则:接口的设计应当尽量细化但也不能过于糅杂,尽量细化以解决接口中声明方法过多导致其实现类需要实现该类不包含的功能模块,不要过度细化是为了防止接口过多而导致编程复杂。
- 单一职责原则:强调一个类只用于实现一个具体的职责,用于解决类中存在两个模块,对其中一个修改导致另一个出现异常的情况,但是随着今后可能出现的模块细分,这条原则也有可能被打破,条件是即使模块划分也足够简单。
- 开闭原则:定义为一个软件的实体应该对拓展开放,对修改关闭。任何针对一个开发完成的项目的修改都是高风险的,错误可能随之而来,所以,面对软件需要有所改变时,应当通过拓展的方式来修改,而不是在原来代码上修改,这条原则,可以说是六大设计原则的总纲。
- 迪米特原则:定义为一个对象应当对其他对象保持最少的了解,从而减少类之间的依赖关系,从而降低耦合。
- 里氏替换原则:主要运用在继承中,父类中已经实现的方法,子类最好不要重写该方法,即子类在拓展父类的功能时,不要改变父类原有的功能。
设计模式
一.创建型模式
- 工厂模式:根据抽象程度可以分为 静态工厂模式,工厂方法模式以及抽象工厂模式。静态工厂模式指创建一个工厂类,类中创建一个工厂方法,用于创建相关对象并返回,而工厂方法模式就比静态工厂方法多一个工厂类接口,具体实现中,创建工厂接口类F,工厂实现类F1,需要工厂创建的类接口P以及该接口的实现类P1,通过创建F 的对象而访问创建P对象的方法,从而返回(创建)P的实例,主要是为了达到降低耦合的目的,运用到了迪米特原则抽象工厂模式,则在其基础上,在工厂类中定义多个方法,分别用来创建不同的对象,提供给程序。
- 创建者模式:与工厂模式类似,只是相对来说多了一个专门用来适配调用适当的创建者(工厂中的方法),用来封装程序中易变的部分。
- 单例模式:主要用于创建一个类的单个实例,多用于多线程情况下,实现方式:1.私有化构造函数,防止外部直接创建,2.私有化对象变量 3.创建一个公共方法,用于创建对象实例,返回给外部。
- 原型模式:定义为用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。 我的理解是:它通过实现cloneable接口,重写object中的方法达到对于对象的克隆操作,这样做相对于直接new一个对象来说性能更好,尤其是该对象占用的内存较大的情况下。
结构型模式(头有点晕,先写这么多,持续更新。。。)
来源:CSDN
作者:Heisenberg_P
链接:https://blog.csdn.net/Heisenberg_P/article/details/104772405