JAVA设计模式大总结JAVA设计模式的六大原则 以及类之间的六大关系

Posted 秃头小郑,

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA设计模式大总结JAVA设计模式的六大原则 以及类之间的六大关系相关的知识,希望对你有一定的参考价值。

引用:学习设计模式能够提升我们代码的可读性和可维护性,规范了代码总体的框架,因此我打算先拿一段时间来好好的总结一下设计模式,在此之前,先讲讲设计模式遵循的原则–往后会结合例子出一档设计模式的总结内容

声明:
(一)此篇大多都是文字例子,阅读可能会有点小枯燥
(二)在后面总结设计模式的时候,我还会根据例子和代码不断加深对这些原则的理解,会再后面的文章中不断提及这六大原则
(三)编程需要沉淀

那么现在就直接进入主题:

一.设计模式的六大原则

(一)单一职责原则 (即一个类只负责一项职责)
例:类定义的方法在不同之类调用之前会起冲突时,比如在动物类里定义一个吃草的方法,那么当该动物类牛羊类调用就不会有有问题,如果是狼类的话就会起冲突
解决:在该类中用多态写法再定义适合不同动物的方法
总:联系生活,做到细分功能

(二)里氏替换原则(即子类可以扩展父类的功能,但不要改变父类已有的功能)
例:父类定义好有了函数体的方法,就尽量不要去改动了(也就是覆盖),除了抽象方法需要重写外

(三)依赖倒置原则(面向接口编程)
例:接口太好用了,不信你去查查。 在很多时候,不同的类间能使用相同的方法,要是你去继承一个父类,那很多特有的方法不就得自己写了吗,但接口可以多实现,可以提高代码的可维护性以及可读性

(四)接口隔离原则(尽量把每个接口的做到细分)
例:如果不细分的话,那在实现该接口时很多不需要的方法也必须要重写,那不仅增加了代码量,还显得有点刁钻

(五)迪米特法则(降低耦合,局部变量中,不要引入新的类)
例:在定义一个方法的时候,里面最好不要引入新的类,因为外部人员看不到方法里面的情况,出了什么问题都有可能找不到

(六)开闭原则(对拓展开放,对修改关闭)

二.类之间的六大关系

1.依赖–只要类中用到了对方,如方法间,变量间,返回值等,就说是依赖关系
2.泛化–继承关系就是泛化关系,泛化关系是依赖的特例,至于为什么你自己想想就知道了
3.实现–实现接口,也是依赖关系的一种
4.关联:即类与类间的关系,有单向一对一和双向一对一
例如:人有手机卡,手机卡有人(使用者),所以类中可以互相包含–双向一对一
5.聚合–整体跟部分可以分开,关联关系的特例
例:手机卡跟人,手机卡可丢,人还能存在;但是当人没了,那手机卡就不能有了的时候就是组合关系
6.组合–整体与部分缺一不可,可以说是聚合关系的升级版,所以也是关联关系的特例
例:头和人缺一不可,不信你自己假设一方没了另一方还能存在吗
总结:上面几点只是术语以及概念性总结,至于怎么用,就要多联系一下生活就行了

以上是关于JAVA设计模式大总结JAVA设计模式的六大原则 以及类之间的六大关系的主要内容,如果未能解决你的问题,请参考以下文章

JAVA设计模式总结之六大设计原则

JAVA设计模式总结之六大设计原则

JAVA设计模式总结之六大设计原则

JAVA设计模式总结之六大设计原则

JAVA设计模式总结之六大设计原则

Java架构师必须知道的 6 大设计原则