当前位置: 移动技术网 > IT编程>开发语言>Java > Java面试必知:软件设计的七大原则

Java面试必知:软件设计的七大原则

2020年07月17日  | 移动技术网IT编程  | 我要评论

软件设计的七大原则

  1. 单一职责原则

    【定义】一个类应该只有一个职责,只完成一个功能
    【解释】MVC三层结构中,Controller专门负责接收数据,分配执行流程
    Service专门负责实现业务逻辑
    DAO专门负责数据的CRUD操作

  2. 开闭原则

    【定义】 一个类应该对扩展开放,对修改关闭
    【解释】针对接口编程,面对新的需求变化,应该尽量少改已存在的老代码,只增加新的代码

  3. 依赖倒置原则

    【定义】高层模块不应该依赖低层模块,二者都应该依赖其抽象
    抽象不应该依赖细节,细节应该依赖抽象
    【解释】类应该依赖于抽象类或接口,不要依赖具体类,通过父类引用指向子类对象实现多态性
    Don’t call me, I will call you

  4. 合成复用原则

    【定义】优先使用组合(has a的关系),尽量不使用继承(is a的关系)
    【解释】继承的耦合性太高, 如果非要使用继承,子类也应该继承抽象类,而不应该继承具体类

  5. 迪米特原则

    【定义】一个对象应当对其他对象有尽可能少的了解,只和直接朋友交谈,不要和陌生人说话
    【解释】封装具体实现细节,外界只关心使用接口,无需关心内部实现,尽量降低类间的耦合
    只和直接朋友交谈—类之间只要有耦合(依赖、关联、聚合、组合),就称为朋友关系。类的成员变量、方法的参数和返回值是类的直接朋友,而方法的局部变量不是类的直接朋友。

不要和陌生人说话—一个类对自己所依赖的类的细节,知道得越少越好。无论被依赖的类多么复杂,都应该将逻辑封装在方法的内部,并对外提供公有方法,不对外泄露实现细节。

  1. 里氏替换原则

    【定义】所有能使用父类的地方,都能透明地替换为子类
    【解释】子类可以扩展父类的功能,但不能改变父类原有的功能,尽量不要重写父类的方法

  2. 接口隔离原则

    【定义】一个类实现的接口应该是最小接口,客户端不需要的方法不应该出现在接口定义中
    【总结】软件设计原则的核心思想就是针对接口编程,找出变化的部分独立抽取出来,使变化的部分和不变的部分之间解耦

本文地址:https://blog.csdn.net/weixin_41774732/article/details/107360337

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网