由于在上世纪的出现了软件危机,是因为软件的规模越来越大,代码量越来越多,在开发和维护的时候会出现很多严重的问题,导致公司遭受到巨大的损失,人们便开始重视代码结构设计的准则。而软件设计的六大原则就是在软件危机背景下产生的,在设计的时候遵守六大设计原则便可以提高代码的质量,下面我将根据MindMaster思维导图来一一介绍。
(注:本图由MindMaster导图社区用户@180139783* 提供)
一、单一职责原则
所谓单一职责原则,简单说就是一个模块只负责一个功能。具体在代码中我们常常运用面向对象来编程,我们用一个类来负责一个功能,例如存在一个车类,这个车可能也是由很多的其他的类组成的,如车这个类含有轮子这个类,还含有方向盘类,轮子只负责向前向后转,方向盘负责车的行驶方向。
而安装单一职责原则来设计的好处是如果软件设计过程的过程中有某个地方有错误,后期修改的时候就可以只修改类实现的地方。而如果不是按照单一职责原则来设计的话,这一段代码在可能以不同的形式放到不同的大的功能里,修改的时候就会变得非常难易修改,甚至是不能修改。而单一职责原则的具体内容如思维导图所示。
二、里氏替换原则
里氏替换原则定义上的表达就是,在父类出现的地方可以实现的功能,那么把子类放到这里也一定可以实现。举个例子有一段鱼的代码,这类鱼是用腮来呼吸的,但是当你实现的时候想写一个海豚的对象,继承鱼的代码。这就违法了里氏替换原则,因为海豚是用肺呼吸的。
虽然继承提高了代码的重用性,但是在继承的时候改变了父类原有的方法的内容,其它程序员可能不知道子类的方法被改变了,在其他的地方调用了子类来实现,就会导致返回的值是不正确的,进而可能导致程序的崩溃,而里氏替换原则正是为了解决这样的问题。
三、依赖倒置原则
在开发软件的过程中为了降低开发的成本,习惯性的会去尽可能的重用代码,但是在重用代码的过程中,上层模块一般会调用下层模块,但是当下层模块改变的时候就会引起上层模块也要跟着去改变为了解决这个情况,人们就引入了依赖倒置原则。具体内容如思维导图所示。
四、开闭原则
从定义上来说开闭原则的意思是:不要去修改源代码,而是要去增加新的方法。当我们已经开发了一款产品了之后,随着时间需求一定会改变,但是我们修改我们的方法的时候,开闭原则就告诉我们尽量不要去修改源代码,而是需要去增加新的方法去实现这个功能。
五、迪米特法则
在面向对象开发的过程中我们总是要求高内聚,低耦合。什么是高内聚呢?其实高内聚很简单,就是一个类或者对象尽量不要与其他的功能模块发生互动,这样就是高内聚。而迪米特法则的意思就是尽量不要和其他的对象联系,这样当代码改变的时候,修改的内容就会少很多,也就不会出现难以解决的bug了。
六、接口隔离原则
在进行软件设计的时候,一个对象可能会提供很多接口。例如一个饭馆老板的对象,他面对青年人的时候,有一种反应,老年人时又是另外一种反应。这样不同的反应在代码中就是用不同的接口来实现的。而接口隔离原则的目的是尽量建立细化的接口,意思就是老板面对青年人,和老年人的的反应应该是不同的。这样接口最大化的细分就会达到接口隔离原则的目的了。
以上我们介绍了java软件设计的六大原则,它们的目的都是为了使代码更加条理化,更加的高内聚,低耦合,降低软件开发的成本,以及为后来软件的维护建立良好的基础。从以上的思维导图可以看出,我们在学习计算机知识的时候,用思维导图可以让我们学习的内容更加有条理,更加清晰,也会加快你学习的速度。而mindmaster思维导图就是一款非常优秀的软件,导图上传到云服务器上可谓是非常方便。
(本文由MindMaster用户@唯心创作,仅代表作者观点,不代表亿图立场。)