• 单一职责原则


    七种设计原则

    为了提高代码的可重用性,可读性,可靠性,可扩展性,高内聚,低耦合,提出了23种设计模式。
    而编写设计模式则需遵守七大原则
    1)单一职责原则
    2)接口隔离原则
    3)依赖倒置原则
    4)开闭原则
    5)里氏替换原则
    6)迪米特法则
    7)组合及复用原则

    单一职责原则

    定义

    即一个类负责一项职责。
    

    示例

    //单一职责原则示例1
    public class SingleResponseblity {
        public static void main(String[] args) {
            Vehicle vehicle=new Vehicle();
            vehicle.run("小汽车");
            vehicle.run("摩托车");
            vehicle.run("飞机");//这个例子说明这个run方法违反了单一职责原则
    
        }
    }
    
    class Vehicle{
        public void run(String vehicle){
            System.out.println(vehicle+"在公路上疾驰.................");
        }
    }
    
    //单一职责原则示例二
    /*
    * 示例分析
    * 1.满足了单一职责原则
    * 2.改动太大
    * 3.改进方案,直接修改vehicle类==》参考类3
    * */
    
    public class SingleResponseblity2 {
        public static void main(String[] args) {
            WaterVehicla wv=new WaterVehicla();
            RoadVehicla rv=new RoadVehicla();
            AirVehicla av=new AirVehicla();
            wv.run("轮船");
            rv.run("汽车");
            av.run("飞机");
        }
    }
    
    class WaterVehicla {
        public void run(String vehicle) {
            System.out.println(vehicle + "在水种上疾驰........");
        }
    }
    class RoadVehicla {
        public void run(String vehicle) {
            System.out.println(vehicle + "在公路上疾驰........");
        }
    }
    class AirVehicla {
        public void run(String vehicle) {
            System.out.println(vehicle + "在天空上疾驰........");
        }
    }
    
    //单一职责原则示例3
    /*
    *示例3分析
    * 1.修改方法未对原来的类做大的修改。只是增加方法
    * 2.虽然没有在类这个级别上遵守单一职责原则,但是在方法的级别上遵守了单一职责原则
    *
    * */
    public class SingleResponseblity3 {
        public static void main(String[] args) {
            Vehicle2 vehicle2=new Vehicle2();
            vehicle2.run("汽车");
            vehicle2.runAir("飞机");
            vehicle2.runWater("轮船");
        }
    
    }
    
    class Vehicle2 {
        public void run(String vehicle) {
            System.out.println(vehicle + "在公路上疾驰.................");
        }
        public void runWater(String vehicle) {
            System.out.println(vehicle + "在水中疾驰.................");
        }
        public void runAir(String vehicle) {
            System.out.println(vehicle + "在空中疾驰.................");
        }
    }
    
    

    第三种示例虽未在类上遵守单一职责原则,但是在方法上遵守了单一职责原则,但是这种写法仅限于方法比较少及简单的类。

    单一职责原则总结

    1)一个类只负责一项职能,降低了类的复杂度
    2)提高了类的可读性及可维护性
    3)降低变更引起的风险
    4)通常情况下我们都要遵守单一职责原则,但是在逻辑简单的类中,可在方法层遵守单一职责原则(复杂拆类,简单拆方法)

  • 相关阅读:
    MySQL图形化管理工具之Navicat安装以及激活
    切换路由时取消全部或者部分axios请求,并将一些从不需要取消的加入白名单
    使用node-static运行vue打包文件dist
    elementUI使用本地变量进行验证,监测不到本地变量的变化 的问题
    vue-cli3打包时webpack优化
    实现两个对象的深度合并
    第一章:操作系统概述
    IDEA 2020.1 安装教程
    常用DOS命令
    Listener:监听器
  • 原文地址:https://www.cnblogs.com/planted/p/15831379.html
Copyright © 2020-2023  润新知