软件开发涉及到的六个重要原则?

如题所述

软件开发原则问题我们已经给大家在前几期的文章中多次强调了其重要性。尤其是不能违反用户的常规使用习惯。今天,IT培训就一起来了解一下,软件开发原则中的六个比较重要的原则都有哪些。



一、单一职责原则


1、单一职责定义


单一职责原则:一个类只负责一个功能领域中的相应职责,或者可以定义为:就一个类而言,应该只有一个引起它变化的原因。


单一职责原则告诉我们:一个类不能太“累”!在软件系统中,一个类承担的职责越多,它被复用的可能性就越小,而且一个类承担的职责过多,就相当于将这些职责耦合在一起,当其中一个职责变化时,可能会影响其


他职责的运作,因此要将这些职责进行分离,将不同的职责封装在不同的类中,即将不同的变化原因封装在不同的类中,如果多个职责总是同时发生改变则可将它们封装在同一类中。


2、单一职责优点


1)降低了类的复杂度。一个类只负责一项职责比负责多项职责要简单得多。


2)提高了代码的可读性。一个类简单了,可读性自然就提高了。


3)提高了系统的可维护性。代码的可读性高了,并且修改一项职责对其他职责影响降低了,可维护性自然就提高了。


4)变更引起的风险变低了。单一职责大的优点就是修改一个功能,对其他功能的影响显著降低。


二、里氏代换原则


这个和单一职责原则比起来,显然就好理解多了,而且也不那么模糊不清。


1、定义


官方定义:所有引用基类(父类)的地方必须能透明地使用其子类的对象。


简单理解就是:子类一般不该重写父类的方法,因为父类的方法一般都是对外公布的接口,是具有不可变性的,你不该将一些不该变化的东西给修改掉。


是不是感觉这个原则不太招人喜欢,因为我们在写代码的时候经常会去重写父类的方法来满足我们的需求。而且在模板方法模式,缺省适配器,装饰器模式等一些设计模式都会采用重写父类的方法。


怎么说呢,里氏代换原则的主要目的主要是防止继承所带来的弊端。


继承的弊端:


继承作为面向对象三大特性之一,在给程序设计带来巨大便利的同时,也带来了弊端。


继承会增加了对象间的耦合性,如果一个类被其他的类所继承,则当这个类需要修改时,必须考虑到所有的子类,并且父类修改后,所有涉及到子类的功能都有可能会产生故障。


三、接口隔离原则


1、定义


当一个接口太大时,我们需要将它分割成一些更细小的接口,使用该接口的客户端仅需知道与之相关的方法即可。


为什么要这么做呢?


其实很好理解,因为你实现一个接口就是实现它所有的方法,但其实你并不需要它的所有方法,那就会产生:一个类实现了一个接口,里面很多方法都是空着的,只有个别几个方法实现了。


这样做不仅会强制实现的人不得不实现本来不该实现的方法,严重的是会给使用者造成假象,即这个实现类拥有接口中所有的行为,结果调用方法时却没收获到想要的结果。


温馨提示:答案为网友推荐,仅供参考
相似回答