代码的艺术
文章平均质量分 58
水的精神
一件事,要么不做,要么做到极致。
展开
-
计算机宣言
愿为计算机发展奋斗终生 愿为数据存储读写奋斗终生 愿为数据检索优化奋斗终生 愿为数据传输优化奋斗终生原创 2021-12-16 01:08:17 · 480 阅读 · 0 评论 -
服务的那点事-我们离写出开源框架差了多少
作为一个步入职场一年半的“老鸟”。分享一下自己的心得。大道至简-化繁为简看了那么多书,用过那么多框架,也做过技术选型,技术架构。学过那么多的新知识。其实也就这么几件事:通信。服务与服务之间的调用叫做通信。用户调用服务也叫做通信。高可用集群,集群与集群之间数据同步,也需要通信。想要走得更远,进行更多的优化。最好熟悉网络原理,以及通信协议。另外前辈给我们封装好了一些东西,例如通信框架netty,最好学习一下。 微服务。也就是服务拆分。 以及服务拆分带来的单点故障问题如何解决。也就...原创 2021-05-16 10:31:07 · 209 阅读 · 2 评论 -
spring源码学习-前戏- 如何从源码来看什么是IOC容器
之前一直想要找到一个学习spring源码的主线。看了《spring源码深度解析》这本书,效果不是很好,没有得到我想得到的。最终还是借助《spring技术内幕》这本书,抽丝剥茧,打开了思路。我换一种方式来学习spring源码,走一个不一样的spring源码学习方式——从“农村包围城市”。先理解里边的关键点,然后逐一击破,走一个星星之火可以燎原的学习道路。不一样的spring源码学习方式——从“农村包围城市”。我把IOC作为学习spring源码的切入点。采用归一的方法,不妨问题化简为繁,先不要.原创 2021-03-23 01:00:06 · 274 阅读 · 3 评论 -
快速学习设计模式-适配器模式
该模式设计关键点适配器模式,关键点是,通过一个适配类,将另外一个类的功能,适配成规范的接口方法。这个模式要好好理解一下,没有那么简答的。最后以spring源码中的使用做为深入理解的入口。UML图适配器模式,看起来非常简单,一个类Adaptee,有一个方法specificRequest(),另外有一个接口叫做Target,它声明了一个方法叫做request(),然后想要在不改变Adaptee的前提下,把Adaptee的specificRequest(),转换...原创 2021-03-19 22:11:49 · 189 阅读 · 0 评论 -
快速学习设计模式-观察者模式
我对设计模式的理解:多数开发人员应该知道设计模式这个东西;部分人知道23种设计模式;少数人能够熟练使用设计模式,极少数人精通设计模式。其实23种设模式,其实只是入门,这就相当于你学英语,学会了26个英文字母,才能开始学习单词。同样23种设计模式,只是字母表,想要到精通的层次,要能够灵活的使用设计模式,灵活的组合设计模式。设计模式是我短期计划中的一部分,我的文章致力于最快最简单的掌握每一个设计模式。我的设计模式相关的文章,都会在开篇使用一句话,来描述一个设计模式!该模式设计关键...原创 2021-03-19 00:49:04 · 195 阅读 · 2 评论 -
快速学习设计模式-策略模式
我对设计模式的理解:多数开发人员应该知道设计模式这个东西;部分人知道23种设计模式;少数人能够熟练使用设计模式,极少数人精通设计模式。其实23种设模式,其实只是入门,这就相当于你学英语,学会了26个英文字母,才能开始学习单词。同样23种设计模式,只是字母表,想要到精通的层次,要能够灵活的使用设计模式,灵活的组合设计模式。设计模式是我短期计划中的一部分,我的文章致力于最快最简单的掌握每一个设计模式。我的设计模式相关的文章,都会在开篇使用一句话,来描述一个设计模式!该模式设计关键点..原创 2021-03-17 00:32:54 · 173 阅读 · 2 评论 -
关于设计模式
我对设计模式的理解:多数开发人员应该知道设计模式这个东西;部分人知道23种设计模式;少数人能够熟练使用设计模式,极少数人精通设计模式。其实23种设模式,其实只是入门,这就相当于你学英语,学会了26个英文字母,才能开始学习单词。同样23种设计模式,只是字母表,想要到精通的层次,要能够灵活的使用设计模式,灵活的组合设计模式。...原创 2021-03-16 12:34:42 · 151 阅读 · 0 评论 -
快速学习设计模式-模板方法模式
该模式设计关键点使用抽象类,定义算法骨架,然后子类根据不同的场景来实现算法细节,达到解决不同问题的目的。最大的好处代码复用,代码结构清晰,符合开闭原则。最大的缺点类的个数膨胀。UML图该设计模式非常的简单,很容易掌握,也不比较容易用到。定义一个抽象类(红色框),算法骨架方法,跟业务挂钩的抽象方法;然后由实现类,去实现跟自己业务相关的方法。简单的使用(一般大家对游戏比较有共鸣,那就举一个游戏的栗子吧):首先我定义了一个抽...原创 2021-03-15 22:12:46 · 199 阅读 · 2 评论 -
设计模式在美团外卖营销业务中的实践
业务策略多变导致需求多变,是业界很多技术团队面临的最具挑战的问题之一。那么如何设计一套易于扩展和维护的营销系统呢?今天的文章来自美团外卖营销技术团队,他们分享了从领域模型到代码工程之间的转化,从DDD引出了设计模式,并详细介绍了工厂方法模式、策略模式、责任链模式以及状态模式这四种模式在美团营销业务中的具体实现,将理论与实践进行了一次深度结合。一、前言随着美团外卖业务的...原创 2020-03-20 10:35:52 · 589 阅读 · 0 评论 -
利用观察者模式,写遵守开闭原则,单一职责的代码
设计模式设计原则,如果作为开发人员的话,其实这些并不遥远。我们要用设计原则严以律己,要用设计模式增人玫瑰,即使你走了,留下的代码依旧万古流传!如果捧一本书,我觉得百分之九十的人,都认识里边的字,但是,好好看看,那是人说的话么?# #简单介绍一下开闭原则 一句话介绍,就是你写完这段代码以后,就永远别来改它。即使业务需要扩展,你也不能再来改它了。只要你能做到这一点,那就...原创 2020-03-17 10:01:58 · 796 阅读 · 1 评论 -
利用 spring 的 bean 和策略模式优雅的写出可扩展的代码
代码的的其中有个设计原则就是:开闭原则。 我们在开发过程中经常会遇到这样的问题:就是往往需要有不同的计算方案,比如促销方案,打折。 这个例子就是通过利用spring的对bean的管理,利用面向接口编程,写出来易于遵守开闭原则的代码,不再使用if else 或者swatch# #第一步是定义一个计算的接口# #第二步是将每一种计算方案来实现这...原创 2020-02-15 17:07:12 · 530 阅读 · 0 评论 -
MyBatis中用到的设计模式
面试官:“谈谈MyBatis中都用到了那些设计模式?”。疯狂的蚂蚁JavaGuide本文转载自:https://dwz.cn/KFgol1De由JavaGuide整理排版。虽然我们都知道有26个设计模式,但是大多停留在概念层面,真实开发中很少遇到,Mybatis源码中使用了大量的设计模式,阅读源码并观察设计模式在其中的应用,能够更深入的理解设计模式。目录面试官:“谈...转载 2019-06-13 18:24:45 · 8984 阅读 · 0 评论 -
如何写一手艺术代码
内容参考《码出高效》《代码整洁之道》·本文是本人原创,有什么问题请给我留言。一:关于命名规则第一条规则:不管是变量名还是方法名还是类名,一定要语义化,不要故作聪明的添加一些无关紧要的修饰。 命名避免有歧义,也就是说有歧义的单词不要使用,特别是和体统相关的。 类的命名,使用名词最佳,方法的命名使用动词最佳。 类名大驼峰,方法名小驼峰,变量也要遵循小驼峰。 常量全大写单词分割用下划...原创 2019-04-20 21:30:21 · 801 阅读 · 0 评论 -
用故事讲明白23种设计模式(设计模式与追女孩子)
今天看到一份不错的设计模式介绍,非常好理解,作者是谁我没有办法考证,但是所有权是属于原作者的,我只是放在这里,便于自己理解查找,也便于大家查找,没有任何商业用途!作者很有意思,写的很友善,全部是追女孩子的,把技术类的写的这么形象,不错,废话少说,直接上:创建型模式 1、FACTORY—追MM少不了请吃...转载 2019-03-09 11:01:15 · 590 阅读 · 0 评论 -
23种设计模式全解析(代码分析)
23种设计模式全解析一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解...转载 2019-03-09 10:52:08 · 829 阅读 · 0 评论 -
java代码优化
声明:本文属于转载内容,非原创,致敬原创。我用来学习。就像鲸鱼吃虾米一样,也许吃一个两个虾米对于鲸鱼来说作用不大,但是吃的虾米多了,鲸鱼自然饱了。代码优化一样,也许一个两个的优化,对于提升代码的运行效率意义不大,但是只要处处都能注意代码优化,总体来说对于提升代码的运行效率就很有用了。这个观点,在现在看来,是要进行代码优化的一个原因,但不全对。在机械工艺发展的今天,服务器动辄8核、16核,6...转载 2019-01-06 21:34:40 · 161 阅读 · 0 评论 -
java开发规范
声明:转载学习。一、命名风格 【强制】类名使用 UpperCamelCase 风格,必须遵从驼峰形式,但以下情形例外:DO / BO / DTO / VO / AO 正例:MarcoPolo / UserDO / XmlService / TcpUdpDeal / TaPromotion 反例:macroPolo / UserDo / XMLService / TCPUDPDeal...原创 2019-01-06 17:03:22 · 272 阅读 · 0 评论 -
spring 中的九种设计模式
原文:spring中涉及的九种设计模式原创 2019-05-20 17:34:33 · 351 阅读 · 0 评论 -
java设计模式·面试准备。
写在前边:这篇内容是自己学习《java设计模式与面试精解》学习笔记,里边涵盖了自己的思考内容。不是摘录。我把这个设计模式的内容都变成自己容易理解的内容来记录,绝对不官方。这适合做初步的入门,想深入就去看有代码的那种讲解。 先说一下为什么要学习设计模式,我们在平常的代码中,如果心中没有一个系统的设计模式了解,很可能这样,自己写的代码,自己再删掉,因为不具有扩展性,实现的太僵硬。即使现在不删...原创 2019-05-21 21:24:56 · 553 阅读 · 0 评论 -
六大设计原则
写在前边:本文是自己的学习笔记。可能未必适合所有人学习,不喜勿喷。有错误希望大家能够指出。单一职责原则原则分析:1)一个类承担的职责越多,它被复用的可能性越小,而且如果一个类承担的职责过多,就相当于将这些职责耦合在一起,当其中一个职责变化时,可能会影响其他职责的运作。 2)类的职责主要包括两个方面:数据职责和行为职责,数据职责通过其属性来体现,而行为职责通过其方法来体现。...原创 2019-04-27 09:45:10 · 1803 阅读 · 0 评论