设计模式
文章平均质量分 73
hikktn
欢迎关注我的语雀知识库,Java之从零开始(司仪剑君)
展开
-
手写工作流设计模式,针对常见的工作流步骤流转,减少过多的if/else,提升编程思维
这一年下来,写两次工作流流转,总结下经验。第一次写的时候,只找到用模版设计模式包裹一下,每个方法都做隔离,但是在具体分支实现的时候,if/else 满屏分,而且因为要针对不同情况,重复代码很多,但是if/else的条件又不一样,搞得我没办法用设计模式修改,想过用工厂模式重构。一是没时间,二是工厂模式和策略模式基本上都用不来,首先,工厂模式一定是if else分支较多,并且入参明确、固定。策略模式也是不同的方法,实现不同的业务,入参明确、固定。原创 2023-11-23 15:24:32 · 1894 阅读 · 0 评论 -
【设计模式 三】实战一杯咖啡之工厂模式-简单模式
工厂模式工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。简易UML图#mermaid-svg-4aFLga8J2CZbGUT8 .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family原创 2021-08-21 16:09:04 · 716 阅读 · 0 评论 -
【设计模式 三】实战工厂汽车代工之工厂模式-简单模式
工厂模式工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。简易UML图#mermaid-svg-JUL5v2PZf3AZBr82 .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family原创 2021-08-21 15:51:10 · 516 阅读 · 0 评论 -
【设计模式 六】单例模式双重校验锁
/*** 单例模式双重校验锁** */public class SingleModel { //创建 SingleModel 的一个对象 private static volatile SingleModel instance; // 让构造函数为 private,这样该类就不会被实例化 private SingleModel() { } // 获取唯一可用的对象 public static SingleModel getInstance() { if (instance .原创 2021-03-20 15:19:29 · 123 阅读 · 0 评论 -
【设计模式 二】实战象棋竞技之JDK动态代理
代理模式定义:为其他对象提供一种代理一控制对这个对象的访问,代理对对象起到中介作用,用于去掉部分功能服务或者是增加一些额外的服务。简易UML图需求分析中国象棋是战场演化而来的玩法,结合现实后,规则出每颗象棋的规则。其中就有比较典型的兵不能后退,炮翻山,象走田等等。而我们选择最为简单的例子,即兵不能后退,但是可以前进。具体实现自定义注解package com.test.annotation;import java.lang.annotation.ElementType;import ja原创 2021-07-26 22:35:02 · 108 阅读 · 0 评论 -
【设计模式 二】实战基金经理管理股票之静态代理模式
代理模式定义:其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。简易UML图需求分析股票是门学问,想要在里面一夜暴富,需要花费巨大的时间。而我们普通人又或者没有一点金融相关的知识,往往就是韭菜,散户的力量真的薄弱。而我们选择基金经理来帮助我们打理,股票的波动,需要人无时无刻不盯着,否则很容易错失良机,或脱离苦海。ISubject :股票的玩法StockSubjectImpl:股票的实际操作S原创 2021-07-26 10:46:06 · 98 阅读 · 0 评论 -
设计模式(七大原则)理论知识
设计模式使用场景 软件架构和程序设计目的 1.提高代码的可重用性 2.提高代码的可读性 3.保障代码的可靠性设计原则特点 1.可扩展性(Extensibility) 2.灵活性(Flexibility) 3.组件化可插拔式(Pluggability)准则单一职责原则:一个Java类存放的功能不能实现不同属性的功能,吃饭和睡觉这是两件事,需要分开创建对象。 开闭原则:软件对外的扩展开放,对外修改关闭,吃饭你得选择吧,有...原创 2020-12-15 00:54:55 · 212 阅读 · 0 评论 -
【设计模式 一】实战节日商品打折之策略模式
策略模式定义:指对一系列的算法定义,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。简易UML图需求分析每当节假日来临,众多商品就会进行相应折扣,以此来吸引客户,不同的节日,有不同寓意,也就是说,不同的节日,某些商品将赋予特定价值,而这时带来了巨大的需求,市场供求过大。为竞争其他商户,为自家商品迎来订单,这时就需要饥饿效应,玩打折来吸引客户。可到底是哪些商品进行打折,以及每个商品需要打多少折扣,既保证吸引客户,又能保证赚钱。这就需要为商品分类进行算法原创 2021-07-23 17:59:39 · 989 阅读 · 0 评论