8 LuckyZhouStar

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 1k+

如何学会抽象

是否有这种感觉,工作了几年,还是在写一个简单的增删改查的代码?是否在看别人代码的时候,有种卧槽的感觉,抽象的粒度很好?是否在看一些框架的时候,卧槽,类的层次抽取的这么细粒度?…如果有上述感觉,欢迎来参加本人的课程:https://edu.csdn.net/course/detail/28872,会不定期的更新,工作中的一些抽象的案例,告诉大家是如何来进行抽象的。...

2020-05-07 19:10:59

《采购与供应链管理》——读书笔记

2020-01-15 18:56:21

设计模式——分发器模式

背景在spring中存在dispatching模式,现在就以这个为前提,设计一下大概的设计模式。实现Event:事件的基类Handler:事件处理的基类EventDispatcher:分发器的处理逻辑,内部维护了事件与处理器的映射关系,通过dispatch方法来进行分发事件...

2020-01-13 20:23:21

设计模式——数据传输模式

背景有不同类型的消息不同类型的消息需要被不同的member进行消费实现DataType:数据的类型,包含了一个数据传输的引用,dataBusAbstractDataType:抽象的数据的类型,用来进行设置数据传输的小火车StoppingData:具体的消息类型,停止的消息StartingData:具体的消息类型,开始的消息Member:消费者的接口,用来接收DataType...

2020-01-13 19:54:28

设计模式——数据组合模式

背景一封信,有句子、单词、字母进行组成。其中字母汇总成单词,单词汇总成句子。针对该场景,如何进行设计实现方式LetterComposite:底层的数据容器基类,通过一个list的形式包含了整个的数据信息。Word、Sentence、Letter实现了LetterComposite类,进行数据的拼装Letter:该类中通过一个char的形式保存了一个单子中的某个字母。Word...

2020-01-13 19:18:34

设计模式——职责链模式

背景有时候,在业务场景中,会遇到职责链的状况。一个链路可以被很多个执行者来进行执行。但是不需要被那个给执行。这个就需要借助职责链来进行实现。实现Request:是请求的报文传递类RequestHandler:是处理请求的抽象类,其中有指向了下一个处理的引用next,handleRequest中的处理逻辑直接由next来进行处理OrcSoldier:具体的执行者,继承了Reque...

2020-01-13 19:00:31

设计模式——回调模式

背景有时候在做业务的时候,需要业务成功后,会进行回调函数操作。针对该场景的需求,如何来进行设计呢实现Task:抽象类,两个方法,其中一个给client端使用,进行执行业务操作方法,方法是需要回调的函数。execute()是抽象方法,用来子类进行实现SimpleTask:具体的业务逻辑执行的实现方式Callback:回调函数...

2020-01-13 18:54:10

设计模式——访问者模式

背景目前只有两个物体,但是有不同的访问者每个访问者,对这两个物体的了解、认知和访问模式都不一样实现上述类图中,把访问者和物体都单独拆开。每个访问者都有自己的访问方法。当访问方法相同的时候,可以通过组合的形式构造成一个新的访问者如果要新增加访问者的话,直接添加新的类即可有一个不好的地方,如果要新增加组件的话,就需要在每一个访问者中增加一个新的访问方法,违反了"开闭原则"...

2020-01-13 16:42:58

设计模式——抽象工厂模式

背景有一个生产王国的工厂,可以生产城堡、国王、军队。国王也有不同的分类军队也有不同的种类城堡也有不同的种类实现方式一KingdomFactory:国王加工的工厂接口ElfKingdomFactory:具体加工国王王国的工厂类,可以生产出来一些列的王国信息Castle:城堡的基类ElfCastle:具体的城堡实现类,实现了Castle其他的类实现细节与上述的功能一致方...

2020-01-13 16:11:30

设计模式——汽车部件模型

场景描述1.有汽车、汽车部件的属性,他们都有一些公共的属性,但是属性的值不一样。针对该部分的场景,如何来设计?2.比如公有的属性有价格、类型、汽车的品牌等答案Document:底层公共数据的基类,提供最基本的获取、放置属性的配置信息AbstractDocument:抽象类,实现了基类,提供属性容器集合,属性配置操作的就是该类中的属性容器集合HasPrice:针对价格提供的属性配置类...

2020-01-13 15:44:07

如何思考问题

下面是整理的思考问题的模型##打赏(需要上述文件,可以加微信联系)

2020-01-12 22:05:44

《重构》读书笔记

2020-01-11 14:51:15

供应链初步认识总结

2020-01-05 17:21:16

计算气温差异值

package com.lucky.code.stack;import java.util.Stack;/** * @Auther: chaoqiang.zhou * @Date: 2019/9/27 17:06 * @Description: 根据每日 气温 列表,请重新生成一个列表,对应位置的输入是你需要再等待多久温度才会升高超过该日的天数。如果之后都不会升高,请在该位置用 0 ...

2019-10-03 14:09:33

无重复字符的最长子串

package com.lucky.code;/** * @Auther: chaoqiang.zhou * @Date: 2019/9/25 20:43 * 题目来源于 LeetCode 上第 3 号问题:无重复字符的最长子串。题目难度为 Medium,目前通过率为 29.0% 。 * <p> * 题目描述 * 给定一个字符串,请你找出其中不含有重复字符的 最长子串 ...

2019-09-27 12:59:11

《清醒思考的艺术》-罗尔夫 多贝利

书中谈到了我们常见的思维误区,下面来总结下1.幸存者偏差只看到成功的,不看失败的;人往往高估自己;只看中分子,看不到分母;2.游泳选手身材不错因果倒置,人总是在事情发生后,有了结果,通过结果去反推各种原因;A与B有关系,但不能证明A就是B的充分条件;逻辑上反证,如果A推出非B就是对上述的强烈质疑,前真后假。3.过度自信效应我们总是系统性的高估自己的学识、预测能力等等,过度自信4.从众...

2019-08-24 16:28:45

《思考的艺术》-大前研一

书名:《思考的艺术》作者:大前研一名句摘抄:1.这个时代是个会因思考差异而造成极大差距的时代。换句话说,新时代是个”思考力差距"的时代。思考力差距所产生的收入差距。2.在新世界里,懒于求知的人将没有生存的空间。3.解决问题的根本就是逻辑思考力,逻辑思考力不但能够让问题迎刃而解,而且我们一般常说的先见之明、直觉也是从逻辑思考中产生的。4.不要把假设和结论混为一谈...

2019-08-14 17:52:05

JAVA进阶之路-深入 Java Timer 定时调度器实现原理

文章参考:https://zhuanlan.zhihu.com/p/52587713

2019-08-12 15:53:07

JAVA进阶之路-AbstractQueuedSynchronizer(AQS)源码走读

1.AQS介绍AbstractQueuedSynchronizer是JUC的lock包实现的基石,内部通过一个int成员变量表示同步状态,也有一个是通过long实现的版本,但是int基本够用。这个state被volatile修饰保证了各个线程之间的可见性。内部通过一个内置的FIFO队列来完成资源获取线程的排队工作。内部状态state和等待队列的head和尾节点tail通过使用volatile关...

2019-08-12 15:52:20

JAVA进阶之路-Thread中的中断方法

Thread的中断标识位首先,一个线程不应该由其他线程来强制中断或停止,而是应该由线程自己自行停止。所以,Thread.stop, Thread.suspend, Thread.resume 都已经被废弃了。而 Thread.interrupt 的作用其实也不是中断线程,而是「通知线程应该中断了」,具体到底中断还是继续运行,应该由被通知的线程自己处理。具体来说,当对一个线程,调用 interru...

2019-08-12 15:51:59

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。