上一页 1 ··· 76 77 78 79 80 81 82 83 84 ··· 117 下一页
  2021年3月3日
摘要: 策略模式的注意事项和细节 1、策略模式的关键是:分析项目中变化部分与不变部分; 2、策略模式的核心思想是:多用组合/聚合,少用继承; 用行为类组合,而不是行为的继承,使结构更有弹性; 3、体现了 “对修改关闭,对扩展开放”原则,客户端增加行为不用修改原有代码,只要添加一种策略(或者行为)即可,避免了 阅读全文
posted @ 2021-03-03 23:15 格物致知_Tony 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 一、策略模式在 JDK-Arrays 应用的源码分析 1、JDK 的 Arrays 的 Comparator 就使用了策略模式 2、代码 1 public class StrategyTest { 2 public static void main(String[] args) { 3 Intege 阅读全文
posted @ 2021-03-03 23:13 格物致知_Tony 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 一、策略模式 1、基本介绍 (1)策略模式(Strategy Pattern)中,定义算法族(策略组),分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户; (2)这算法体现了几个设计原则: 第一:把变化的代码从不变的代码中分离出来; 第二:针对接口编程而不是具体类(定义了 阅读全文
posted @ 2021-03-03 22:56 格物致知_Tony 阅读(390) 评论(0) 推荐(0) 编辑
摘要: 一、需求说明 1、有各种鸭子(比如 野鸭、北京鸭、水鸭等,鸭子有各种行为,比如 叫、飞行等) 2、显示鸭子的信息 二、传统方案解决鸭子问题的分析和代码实现 1、传统的设计方案(类图) 2、代码 抽象鸭子类: 1 public abstract class Duck { 2 public Duck() 阅读全文
posted @ 2021-03-03 22:39 格物致知_Tony 阅读(69) 评论(0) 推荐(0) 编辑
  2021年3月1日
摘要: 一、状态模式的注意事项和细节 1、代码有很强的可读性。状态模式将每个状态的行为封装到对应的一个类中。 2、方便维护。将容易产生问题的 if-else 语句删除了,如果把每个状态的行为都放到一个类中,每次调用方法时都要判断当前是什么状态,不但会产出很多if-else语句,而且容易出错。 3、符合 “开 阅读全文
posted @ 2021-03-01 22:18 格物致知_Tony 阅读(67) 评论(0) 推荐(0) 编辑
摘要: 一、借贷平台代码分析 1、借贷平台的订单,有审核-发布-抢单 等步骤,随着操作的不同,会改变订单的状态,项目中的这个模块实现就会使用到状态模式; 2、通常使用 if/else 判断订单的状态,从而实现不同的逻辑,伪代码如下: 二、代码分析 1、类图 2、代码 状态接口类: 1 /** 2 * 状态接 阅读全文
posted @ 2021-03-01 22:13 格物致知_Tony 阅读(688) 评论(0) 推荐(1) 编辑
摘要: 一、状态模式基本介绍 1、基本介绍 (1)状态模式(State Pattern):它主要用来解决对象在多种状态转换时,需要对外输出不同的行为的问题。状态和行为是一一对应的,状态之间可以相互转换; (2)当一个对象的内在状态改变时,允许改变其行为,这个对象看起来像是改变了其类; 2、状态模式的原理类图 阅读全文
posted @ 2021-03-01 22:01 格物致知_Tony 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 一、需求说明 APP 抽奖活动问题 请编写程序完成 APP 抽奖活动,具体要求如下: 1、假如每参加一次这个活动要扣除用户 50积分,中奖概率是 10%; 2、奖品数量固定,抽完不能抽奖; 3、活动有四个状态:可以抽奖、不能抽奖、发放奖品和奖品领完; 4、活动的四个状态转换关系图如下: 阅读全文
posted @ 2021-03-01 21:40 格物致知_Tony 阅读(65) 评论(0) 推荐(0) 编辑
  2021年2月28日
摘要: 解释器模式的注意事项和细节 1、当有一个语言需要解释执行,可将该语言中的句子表示为一个抽象语法树,就可以考虑使用解释器模式,让程序具有更好的扩展性; 2、应用场景:编译器、运算表达式计算、正则表达式、机器人等; 3、使用解释器可能带来的问题:解释器模式会引起类膨胀、解释器模式才用递归调用方法,将会导 阅读全文
posted @ 2021-02-28 10:58 格物致知_Tony 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 一、解释器模式在Spring框架应用的源码剖析 1、Spring 框架中 SpelExpressionParser 就使用解释器模式 1 public class Interpreter { 2 public static void main(String[] args) { 3 //创建一个 Pa 阅读全文
posted @ 2021-02-28 10:55 格物致知_Tony 阅读(203) 评论(0) 推荐(0) 编辑
上一页 1 ··· 76 77 78 79 80 81 82 83 84 ··· 117 下一页