Java设计模式—六大原则
Posted 小筱萌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java设计模式—六大原则相关的知识,希望对你有一定的参考价值。
单一职责
一个类只负责一项职责。
作用:提高类的可读性、可维护性,降低类的复杂性以及由于变更引起的风险。
里氏替换原则
该原则针对继承是对子类型的特别定义:子类可以扩展父类的功能,但不要改变父类原有功能。
1.如果继承是为了代码重用,即共享方法,那么共享的父类方法就应该保持不变,不能被子类重新定义。子类只能通过添加新的方法来进行扩展。此时虽然子类和父类都可以被实例化,但是子类继承的方法和父类是一样的,即使子类把父类的方法覆盖掉他们的逻辑还是一致的,自然也就不会有问题。
2.如果继承的目的是为了实现多态,而多态就是要继承并覆盖父类的方法对其进行新的定义,这种情况下我们就要将父类定义为抽象类,父类中的方法定义为抽象方法。此时父类就不能被实例化,也就不存在子类实例化后覆盖父类实例化的说法了。
依赖倒置原则
实际上就是面向接口编程。我们可以把功能抽象成接口,抽象出来后我们会认为这个接口改变的可能性比较小,而实现接口的类改变的可能性比较大,这样我们在其他类里调用它的时候都用接口的类型来持有这个实例。从而实现了接口和抽象类不依赖于实现类,实现类则依赖于抽象类或者接口。
接口隔离原则
设计接口功能尽量细粒度,最小功能单元。防止实现类依赖它不需要的接口。
迪米特法则
降低类之间的耦合
1.局部变量中不要引入新的类,即要遵循只和最直接的朋友进行交流。
2.减少对朋友的了解,即朋友类中应尽量使用private方法,只暴露应该暴露的方法。
开闭原则
对扩展开放,对修改关闭。
总结:应重点关注:单一职责、依赖倒置原则、开闭原则这三大原则。其中开闭原则最最最为重要,它不仅仅是设计模式也是面向对象的一个最基础的原则。
以上是关于Java设计模式—六大原则的主要内容,如果未能解决你的问题,请参考以下文章