Java设计模式七大原则-单一职责原则

导读:本篇文章讲解 Java设计模式七大原则-单一职责原则,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

目录

概述:设计模式的目的

设计模式七大原则

单一职责原则

单一职责原则注意事项和细节


概述:设计模式的目的

编写软件过程中,程序员面临着来自 耦合性,内聚性以及可维护性,可扩展性,重用性,灵活性 等多方面的挑战,设计模式是为了让程序(软件),具有以下更好的性质:

  1. 代码重用性(即:相同功能的代码,不用多次编写
  2. 可读性(即:编程规范性,便于其他程序员的阅读和理解)
  3. 可扩展性(即:当需要增加新的功能时,非常的方便,称为可维护
  4. 可靠性(即:当我们增加新的功能后,对原来的功能没有影响)
  5. 使程序呈现高内聚,低耦合的特性

设计模式七大原则

设计模式原则,其实就是程序员在编程时,应当遵守的原则,也是各种设计模式的基础(即:设计模式为什么这样设计的依据)
设计模式常用的七大原则有:

  1. 单一职责原则
  2. 接口隔离原则
  3. 依赖倒转(倒置)原则
  4. 里氏替换原则
  5. 开闭原则
  6. 迪米特法则
  7. 合成复用原则

单一职责原则

基本介绍
对类来说的,即一个类应该只负责一项职责。如类A负责两个不同职责: 职责1,职责2当职责1需求变更而改变A时,可能造成职责2执行错误,所以需要将类A的粒度分解为A1,A2

例子

可以看到Vehicle这个类承担了它这个年纪不该承担的压力,火车、飞机与轮船通过一个方法共同输出导致出现不符合实际的结果

public class sigleResponsibility {
    public static void main(String[] args) {
        Vehicle vehicle = new Vehicle();
        vehicle.run("火车");
        vehicle.run("飞机");
        vehicle.run("轮船");
    }
}

class Vehicle {
    public void run(String vehicle) {
        System.out.println(vehicle+"在公路上运行");
    }
}

Java设计模式七大原则-单一职责原则

 例子改进

这里我们写出了另外两个方法,实现了方法级别的单一职责,但是当我们需要对各种类别添加其他方法(比如对空中的交通工具加其他方法)时我们就需要继续改进

public class sigleResponsibility {
    public static void main(String[] args) {
        Vehicle vehicle = new Vehicle();
        vehicle.run("火车");
        vehicle.runair("飞机");
        vehicle.runwater("轮船");
    }
}

class Vehicle {
    public void run(String vehicle) {
        System.out.println(vehicle+"在公路上运行");
    }
    public void runair(String vehicle) {
        System.out.println(vehicle+"在空中上运行");
    }
    public void runwater(String vehicle) {
        System.out.println(vehicle+"在水上上运行");
    }
}

例子再改进

到这一步,我们就已经遵从了类上的单一职责原则,可能看起来会觉得第二种更加简短与实用,但是这些原则都是为了给巨大的项目打地基用的,而不是为了单单着眼于实现一个功能。

public class sigleResponsibility {
    public static void main(String[] args) {
        Vehicle vehicle1 = new Vehicle();
        vehicle1.run("火车");
        AirVehicle vehicle2 = new AirVehicle();
        vehicle2.run("飞机");
        WaterVehicle vehicle3 = new WaterVehicle();
        vehicle3.run("轮船");
    }
}

class Vehicle {
    public void run(String vehicle) {
        System.out.println(vehicle+"在公路上运行");
    }


}
class AirVehicle {
    public void run(String vehicle) {
        System.out.println(vehicle+"在空中上运行");
    }
}
class WaterVehicle {
    public void run(String vehicle) {
        System.out.println(vehicle+"在水上上运行");
    }
}

单一职责原则注意事项和细节

  1. 降低类的复杂度,一个类只负责一项职责。
  2. 提高类的可读性,可维护性
  3. 降低变更引起的风险
  4. 通常情况下,我们应当遵守单一职责原则,只有逻辑足够简单,才可以在代码级违反单一职责原则:只有类中方法数量足够少,可以在方法级别保持单一职责原则

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/118493.html

(0)
seven_的头像seven_bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!