在Java中,面向对象的七大设计原则如下:
一、单一职责原则
当我们在设计过程中时,最好将每个单独的可提取的方法独立出来,单独形成一个类,一个类应该只有一个引起它变化的原因,一个类完成一个对应业务,也可通过聚合的方式调用
二、开闭原则
由于软件实体面向修改关闭,将相同代码抽取出来实现代码重用即为闭,将不同代码抽取出来,通过重写的方式完成功能拓展
三、聚合/组合复用原则
当我们需要复用代码时,最好不要考虑继承的方式,因为在java中单根继承机制不灵活,不得已改变父类的情况下容易影响到其他子类,所以通过聚合实现代码的复用是较为理想的方式
四、迪米特法则
应该尽量减少软件实体之间的交互,每个类各司其职,不受其他类影响而变化
五、依赖倒置原则
设计过程最好面向抽象编程,使用抽象耦合能使得代码的灵活度增加,而使用具体耦合虽然也能满足当前业务需要,但是其后期拓展以及灵活度都较低,例如创建实现类对象时,可以用实现类对应的接口变量来引用实现类对象。
六、里氏替换原则
如果父类方法在子类中发生了畸变,则应该断开父子关系,通常情况下,父类方法子类无条件继承,会导致方法在子类中不适用,因此父类出现的地方子类一定可以替换
七、接口隔离原则
一个类只继承它需要的接口,不应该让开发者接触到他不使用的方法,统一的接口往往会有多余的方法,因此拆分接口是接口隔离原则的核心。