1):单一职责原则:它规定一个类应该只有一个发生变化的原因。所谓职责是指类变化的原因。如果一个类有多于一个的动机被改变,那么这个类就具有多于一个的职责。而单一职责原则就是指一个类或者模块应该有且只有一个改变的原因。
优点:
● 类的复杂性大大降低,每个类都有清楚的定义。
● 提高可读性。
● 维护性高。
● 变更时风险率降低。
转化到Android开发中也就是我们编写的接口、类、方法要使用单一职责原则
2):开源封闭原则:类、模板、函数等应该可以拓展,但不可修改。
思想:当需要改变一个程序的功能或者给这个程序增加新功能的时候,可以使用增加代码的方式,但是不允许改动程序的源代码。
3):里氏替换原则:所有引用基类的地方必须透明地使用其子类的对象。
其实就是抽象,抽象又依赖于继承这个特性,子类可以扩展父类的功能,但不能改变父类原有的功能。
● 子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法;
● 子类中可以增加自己特有的方法;
● 当子类的方法重载父类的方法时,方法的前置条件(即方法的形参)要比父类
方法的输入参数更宽松;
● 当子类的方法实现父类的抽象方法时,方法的后置条件(即方法的返回值)要
比父类更严格。
4):依赖倒置的原则:高层模块不应该依赖低层模块,两者都应该依赖于抽象,抽象不应该依赖于细节,细节应该依赖于抽象。
●高层模块不应该依赖低层模块,两者都应该依赖其抽象
●抽象不应该依赖细节
●细节应该依赖抽象
采用依赖倒置原则可以减少类间的耦合性;
提高系统的稳定性,降低并行开发引起的风险,提高代码的可读性和可维护性。
5)迪米特原则:一个软件实体应当尽可能少地与其他实体发生相互作用。
一个对象应该对其他对象有最少的了解
6)接口隔离原则:一个类对另一个类的依赖应建立在一个最小的接口。
建立单一接口,不要建立庞大臃肿的接口,尽量细化接口,接口中的方法尽量少。也就是说,我们要为各个类建立专用的接口,而不要试图去建立一个很庞大的接口供所有依赖它的类去调用。在程序设计中,依赖几个专用的接口要比依赖一个综合的接口更灵活。接口是设计时对外部设定的“契约”,通过分散定义多个接口,可以预防外来变更的扩散,提高系统的灵活性和可维护性。
1.接口尽量小,但是要有限度。对接口进行细化可以提高程序设计灵活性是不挣的事实,但是如果过小,则会造成接口数量过多,使设计复杂化。所以一定要适度。
2.为依赖接口的类定制服务,只暴露给调用的类它需要的方法,它不需要的方法则隐藏起来。只有专注地为一个模块提供定制服务,才能建立最小的依赖关系。
3.提高内聚,减少对外交互。使接口用最少的方法去完成最多的事情。
网友评论