IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> java设计模式 -> 正文阅读

[Java知识库]java设计模式

第二十三 职责链模式

现实问题 校长能处理大于三万的订单 副校长能处理小于二万大于一万 院长处理一万以下的

代码的描述
一个关于订单的class 里面有钱的大小
一个人的抽象类,有一个属性是他自己这个抽象类,有一个设置属性的set方法,有个判断钱的抽象类方法
一个继承抽象类,重写判断钱的方法 方法中有一个if else 方法,如果正确就自己执行,如果不执行就属性的判断钱的方法
main方法中的执行情况 一个实现类的set方法另一个实现类,最后一个连接第一个实现类,最后实现一个单链环状

模式出现的地方 springMvc中的HandlerExecutionChain

//一个钱的class
class PurchaseRequest{
  float price = 0.0;
}
//人的抽象类
abstract class{
    人 approve;
    String name;
    //处理钱的抽象方法
    abstract void 判断钱的大小(PurchaseRequest purchaseRequest)
    // set人的方法
}
class 院长 extends{

   //重写钱的方法
   void 判断钱的大小(PurchaseRequest purchaseRequest){}
   if(purchaseRequest.price 条件){
  执行
}else{
   属性.判断钱的方法
}

}

第二十二 策略模式 鸭子模式
问题 鸭子有很多种 有会叫的 有会飞的 有其他功能的
常用的解决方式 写一个abstract class duck 写几个功能的方法,继承的方式来重写方法
常用的解决方法的弊端 没有个继承类都学需要改写代码。

策略模式: 还是一个abstract class duck 添加接口作为属性,每一个接口就是一个功能,功能方法调用属性的方法
每一个继承类,修改的代码就减少了,实现了代码的分离
main 每一个功能都实现接口,duck的继承类通过set属性将接口的实现类设置为属性

java 用到的地方 comparator 用到了策略模式 Arrays.sort(数组,comparator的实现类) comparator的实现类相当于策略模式中的实现接口的属性
lamdba表达式也用到了 Arrays.sort(数组,(var1,var32) ->{
if(var1.compareTo(var2) > 0){
return 1;
} else{
return -1;
}
});

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-12-11 15:35:19  更:2021-12-11 15:36:35 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 5:28:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码