首页 > 其他分享 >设计模式原则之:单一职责模式

设计模式原则之:单一职责模式

时间:2023-07-31 22:11:06浏览次数:30  
标签:run 职责 void 单一 class 设计模式 public String

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

错误的应用实例

package org.example.demo0;

/**
 * @description: 单一职责原则
 * @author: abel.he
 * @date: 2023-07-31
 **/
public class SingleResponsibility {

    public static void main(String[] args) {
        Vehicle vehicle = new Vehicle();
        vehicle.run("摩托车");
        vehicle.run("汽车");
        vehicle.run("飞机");

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

正确的实例

package org.example.demo0;

/**
 * @description: 单一职责原则(正确)
 * @author: abel.he
 * @date: 2023-07-31
 **/
public class SingleResponsibilityCorrect {

    public static void main(String[] args) {
        Vehicle1 vehicle1 = new Vehicle1();
        vehicle1.run("小汽车");

        Air air = new Air();
        air.run("飞机");
        
    }

}

/**
 * 汽车工具类
 */
class Vehicle1 {
    public void run(String vehicleName) {
        System.out.println(vehicleName + "在地上跑");
    }
}

class Air {
    public void run(String airName) {
        System.out.println(airName + "在天上飞");
    }
}

  

标签:run,职责,void,单一,class,设计模式,public,String
From: https://www.cnblogs.com/abel-he/p/17594763.html

相关文章

  • Android 设计模式:(二)观察者模…
    Android设计模式:(二)观察者模式——让你的对象知悉现况设计模式2012-05-2813:28 1074人阅读 评论(1) 收藏 举报*观察者模式:定义了对象之间的一对多依赖关系,当一个对象(主题对象)的状态改变时,它的所有依赖者(观察者对象)都会收到通知并自动更新。*观察......
  • Spring中的设计模式详解
    Spring中的设计模式详解​JDK中用到了哪些设计模式?Spring中用到了哪些设计模式?这两个问题,在面试中比较常见。我在网上搜索了一下关于Spring中设计模式的讲解几乎都是千篇一律,而且大部分都年代久远。所以,花了几天时间自己总结了一下,由于我的个人能力有限,文中如有任何错误各......
  • 创建型设计模式:工厂方法、简单工厂、抽象工厂
    1.前言设计模式,对于像java这种面向对象的语言来说,个人感觉是比较重要的。尤其在构建大型项目,设计模式的优点不言而喻。那么设计模式是什么?解决了软件工程中的什么问题?要想学一门东西,学一个知识点,我觉得首先得了解这个东西(知识、技术)它解决了什么问题,如果没有这门技术,那之前的做......
  • 设计模式-迭代器模式在Java中使用示例
    场景为开发一套销售管理系统,在对该系统进行分析和设计时,发现经常需要对系统中的商品数据、客户数据等进行遍历,为了复用这些遍历代码,开发人员设计了一个抽象的数据集合类AbstractObjectList,而将存储商品和客户等数据的类作为其子类AbstractObjectList类的子类ProductList和Custo......
  • SAP Fiori Elements 应用里的 visitor 访问者设计模式
    SAPFioriElements应用SmartTabletitle控件的text属性,在运行时如何生成的?在TitleRenderer.js里设置断点:调用getText拿到textproperty值:问题是这个Text属性是从哪里来的?在SmartTable.js内部能够观察到这个Products字符串:最终的入口还是XMLTemplate......
  • Java设计模式-策略模式
    简介策略模式是指有一定行动内容的相对稳定的策略名称,策略模式作为一种软件设计模式,指对象有某个行为,但是在不同的场景中,该行为有不同的实现算法经验总结抽象策略角色:策略类,通常由一个接口或者抽象类实现具体策略角色:包装了相关的算法和行为环境角色:持有一个策略类的引用,最终给客......
  • 设计模式-备忘录模式在Java中使用示例-象棋悔棋
    场景备忘录模式备忘录模式提供了一种状态恢复的实现机制,使得用户可以方便地回到一个特定的历史步骤,当新的状态无效或者存在问题时,可以使用暂时存储起来的备忘录将状态复原,当前很多软件都提供了撤销(Undo)操作,其中就使用了备忘录模式。备忘录模式结构图 在备忘录模式结构......
  • 设计模式-中介者模式在Java中使用示例-客户信息管理
    场景欲开发客户信息管理窗口界面,界面组件之间存在较为复杂的交互关系:如果删除一个客户,要在客户列表(List)中删掉对应的项,客户选择组合框(ComboBox)中客户名称也将减少一个;如果增加一个客户信息,客户列表中需增加一个客户,且组合框中也将增加一项。中介者模式概述如果在一个系统......
  • 设计模式-桥接模式
    桥接模式(Bridge)模式定义+将抽象部分和实现接口分离,使它们可以独立变化。是一种结构性模式。UML图时序图角色定义抽象类(Abstraction)用于定义抽象类的接口,其中定义了一个Implementation实现类接口的对象,并可以维护该对象,它与Implementation具有关联关系扩充抽象......
  • 设计模式
    设计模式设计模式六大原则1)开闭原则(总):对扩展开放,对修改关闭多使用抽象类和接口,用抽象构建架构,用实现进行扩展2)单一职责原则:每个类应该实现单一的职责保证一个类只做一件事,如拆分为实体类和Controller类等3)里氏替换原则:基类可以被子类替换使用抽象类继承,不使用具体类继承,......