
设计模式
文章平均质量分 90
current_person
计算于千里之外,编码于须臾之间(www.codog.com.cn)
展开
-
提高系统稳定性-兼容性
前言兼容性一直是个很隐秘的问题, 在配备良好的研发流程和人员的情况下, 在大流量系统中兼容性问题仍然会偶尔出现, 直接原因在于兼容性的测试复杂性, 隐蔽性, 需要考虑新旧代码共存的兼容性关系, 所以这里梳理了一些情况, 下一篇会整理一些常用的解决问题的方法, 大家还有要分享的情况可以私聊指导我一下兼容性场景接口兼容性:修改/删除现有出入参字段字段类型: 比如原来的字段是 String 类型, 代表着支付金额, 结果我们把这个字段的类型变成了 BigDecimal, 结果因序列化框架的配置原因, 把原创 2020-12-19 16:53:44 · 1043 阅读 · 1 评论 -
jk女孩被人偷拍&知名企业代码泄露, 原来是属性注解模式(Attribute Annotation Pattern)兴风作浪
目的可以屏蔽掉不同类的区别, 标记某些属性的不同从而对这些属性统一处理例子代码最近上海漫展一位身着大胆的女孩去报警, 因为自己身着 jk 制服参加漫展, 在地上做出各种姿势的时候走光被人偷拍, 并被职责污染了 jk 的圈子, 同时还有一则互联网届的新闻, 由于 sonar 服务器配置问题, 多个知名的互联网企业的代码都有泄露, 微软小米任天堂迪士尼等https://v.qq.com/x/page/y3127ka8n1t.html比如我们要初步描述这两个事件:定义一个企业类:@Data@All原创 2020-10-12 11:41:23 · 4574 阅读 · 0 评论 -
绿地高管绿了80后, AsyncMethodInvocationPattern(异步方法调用模式)来讲解
目的效率型设计模式, 意义在于不阻塞主流程的同时完成异步操作, 还能将异步操作的结果聚集回主线程例子代码最近 70 后绿地高管抢了 80 后男人的 90 后老婆的事情也闹得沸沸洋洋, 70 后谎称自己不孕不育然后没有采取安全措施导致这个 90 后怀孕了, 还要给 80 后老公一笔钱, 孩子归 80 后老公管,[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iVvBK0hj-1602385923532)(/assets/2020052300.png)][外链图片转存失败原创 2020-10-12 10:04:07 · 266 阅读 · 0 评论 -
适配器模式:不要你觉得,我要我觉得
目的将现有的代码能力适配到新的接口例子代码赵高欲为乱, 恐群臣不听, 乃先设验, 持鹿献于二世日: “马也” 二世笑曰: “丞相误耶? 谓鹿为马.” 问左右, 左右或默, 或言马以阿顺赵高, 或言鹿者. 高因阴中诸言鹿者以法这就是很有名的指鹿为马的故事了, 我们可以看到赵高需要的是个马, 但实际上是个鹿, 我们怎么通过适配器模式来实现他的指鹿为马呢我们先定义一下鹿和马的接口:马:public interface Horse extends Target { void eat();原创 2020-10-12 10:03:55 · 117 阅读 · 0 评论 -
高考 607 分的我被清华大学录取了, 原来是抽象工厂模式(Abstract Factory Pattern)在帮忙
目的减少工厂方法情况下过多的工厂类, 将相关的类的创建使用同一个工厂方法例子代码最近有个考了 200 多分的同学冒充了清华的录取通知书, 家里杀鸡宰牛之后发现是假的, 听说其父亲被气得进了医院, 血压都比自己二个的分数高…抽象工厂模式[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dKMwLDAc-1602386021174)(/assets/2020082100.png)]先定义一个 Offer:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传原创 2020-10-12 10:03:40 · 269 阅读 · 0 评论 -
工作 996?Template Method Pattern:我太难了
目的做一件事情遵循着一定的步骤, 但每一步的具体细节可能不同, 就像把东西放入冰箱需要三步, 冰箱门打开, 把东西放进去, 冰箱门关上, 区别只是把苹果放进去的时候一个手拿放进去, 把西瓜放进去需要二个手抬进去, 把大象放进去需要 … …(我也不知道需要啥啦). ,这时候可以把步骤这种不变的部分和每一步的具体细节这种经常变化的部分剥离开, 从而实现代码的可拓展性例子代码作为程序猿/媛, 我们都是 “工作 996, 生病 ICU”(https://996.icu/#/zh_CN), 还要一些同学都 “0原创 2020-10-12 10:03:24 · 168 阅读 · 0 评论 -
想要上天找仙女?Bridge Pattern 来搭桥
目的将二个变化的维度分离开, 简而言之就是双重策略模式模式例子代码在中国古代神话中, 有很多仙女下凡与凡人相恋的故事, 比如牛郎-织女, 董永-七仙女, 刘彦昌-三圣母等等, 他们之间都隔着一道银河, 我们假设牛郎想去七仙女和三圣母那串门, 这个牛郎又看过(策略模式), 他想到他以后可能还要访问别的仙女(这到底是不是我认识的牛郎,), 就策略模式又搭了二个鹊桥(泛型方式请看策略模式文章):public interface NiuLangVisitStrategy { String visit原创 2020-10-12 10:04:29 · 200 阅读 · 0 评论 -
还是母胎solo?不如用Builder Pattern 捏一个男/女朋友
Builder Pattern(建造者模式)目的减少构造函数的数量, 去除参数过多的构造函数, 参数过多会引起可读性和易用性下降例子代码假如我们要建造个女朋友(心疼自己, 别人的女朋友不都是国家给发么, 我的怎么还需要自己 new, 国家啥时候给我发到底)女朋友有很多属性, 年龄, 性别, (还要有性别, 心疼自己, 带不带物种呀, 删删删), 姓名等, 不同阶段我们可能知道不同的属性, 所以我们将女朋友类设计如下:初始实现@Getter@Setterpublic class Girl原创 2020-10-11 11:08:18 · 167 阅读 · 0 评论 -
乘风波浪的姐姐们那么多, 缓存模式(Caching Pattern)来介绍
目的缓存降低耗时接口的结果, 重复查询时候可以减少时间消耗例子代码最近 <乘风破浪的姐姐们> 开播, 我作为一名资深宅男, 肯定不会放过这个综艺, 当我们想要查询根据 id 获取每个姐姐的信息的时候, 可能会比较耗时, 而这些信息基本不会变, 这时候就是缓存模式出场了.缓存模式定义一个查询:public interface QueryAction<T, R> { T queryFromCache(String key); T query(R r);原创 2020-10-11 11:07:25 · 160 阅读 · 0 评论 -
到底是不是隔壁老王?责任链模式帮小头爸爸洗绿
目的在发送请求的类和最终处理的类之间进行解耦例子代码小伙伴们都看过 大头儿子小头爸爸 么(大手牵小手, 走路不怕滑~), 当初纯洁的我怎么也没想到小头爸爸的绿帽子这么鲜艳[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xt17MqqA-1602385559394)(/assets/2019101901.png)]话说大家都这么说, 大头妈妈天天在家里生气, 小头爸爸内心也忍不住了, 于是要证明自己的清(bei)白(lv)[外链图片转存失败,源站可能有防盗链机制,建议原创 2020-10-11 11:06:34 · 331 阅读 · 2 评论 -
面对新型冠状病毒,看组合模式如何模拟消毒
目的对树形结构的中间节点和叶子节点对客户端保持一致的处理例子代码最近全国都在新型冠状病毒引起的肺炎的阴影之下, 从年前隐隐约约听说武汉有个人得了非典, 到截止写文章的这个时候, 根据@今日头条的数据来看, 目前全国确诊 2823 例, 死亡 81 例, 连我们这个 10086 线的城市都有确诊案例, 这里面应该还有很多农村或者欠发达地区的一个统计盲点, 局势是非常严峻了, 但是现在应该还没有能够治愈的药物, 这次我也是领悟到了, 平安健康就是最好的, 希望大家都能够平安健康.大家目前肯定是希望能够进原创 2020-10-11 11:05:40 · 197 阅读 · 0 评论 -
装饰器模式
目的在不改变原有代码的前提下为原来的方法增加新的能力例子代码我今天在朋友圈突然发现了大家会分享自己的 “剪映” 的照片, 不出所料, 又是字节跳动的 APP, 只要是娱乐方向 APP, 只有你想不到, 没有字节跳动没做的, 8 周年一鸣大佬又要提高员工的幸福度又要进军教育了, “让天下没有难办的教育” 马上就要成为目标了…我大概看了看视频, 剪映大概是个图片渲染还是个画图软件类似的, 今天很火的好像是个 “手拿花花”, 大概是这个样子:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直原创 2020-10-11 11:04:47 · 125 阅读 · 0 评论 -
Dependency Injection Pattern(依赖注入模式)
目的使得一个类的行为由设置的属性类的行为不同而不同例子代码小时候大家都应该会丢三落四, 及时长大了也经常找不到东西放在哪里, 总是需要问老妈, 妈我袜子放哪了, 妈我鞋放哪了…我们定义一个我们人这个类, People.(一)People 里面我们可以 new 一个 Mother, 然后调用 mother 类的方法,(二)或者我们可以定义一个方法叫做 callMother(Mother mother) ,其中 Mather 类如下:public interface Mother { S原创 2020-10-11 11:03:56 · 268 阅读 · 0 评论 -
互联网人35岁送外卖?Dirty Flag Pattern 竟“助纣为虐”!
目的避免不必要的耗时的重复计算代码例子福报厂实现 P8 以下全员 35 以下, 菊花厂清理 35 岁以下员工, 各个大厂裁员, 招聘要求低于 35 岁等, 各种真真假假的新闻让我们这种互联网人如坐针毡, 危机感满满, 像我这种刚 18 岁就要担心 35 岁的日子了, 貌似每个天天坐在办公室的互联网人到了 35 岁只能都去送快递, 送外卖了(也不知道能不能应聘得上)比如这天公司的老板叫你每天给他统计以下公司的平均年龄, 来作为优(cai)化(yuan)的依据, 我们目前只有一个组织结构树和一个根据员工原创 2020-10-11 11:03:02 · 152 阅读 · 0 评论 -
Execute Around Pattern 环绕执行模式
目的在执行同一类方法之前 或/和 之后需要做一些相同的操作例子代码清明时节雨纷纷, 路上行人欲断魂.今天全国各地都一起哀悼在过去几个月中英勇牺牲的英雄们, 前一段日子公司组织了捐款, 主要是针对一线医护人员的捐助, 是有专门跟踪和公开用途, 虽然有些组织实在是不行, 我还是信得过公司的, 也就贡献了一份力量, 希望为在这场疫情中我们遮风挡雨的一线医护人员一点帮助.抗击疫情已经取得了阶段性胜利, 大家仍然要注意保护自己, 我们都需要勤洗手, 戴口罩, 每个人洗手的方式可能不一样, 这里我们需求是每个原创 2020-10-11 11:02:12 · 221 阅读 · 0 评论 -
谁的青春不军训? 教官用了Iterator Pattern都说好
目的不需要知道具体的数据存储方式对数据进行不同方式的遍历例子代码最近考答(so)题(suo) 获得了 10.24 元狗物券, 猛地想起抹茶妹妹不知道怎么样了, 兄弟告诉我 不努力就不是我兄弟 现在只要学习设计模式学的好, 女朋友就还在初中军训[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UzMDvDiN-1602385220804)(/assets/2019110100.png)]比如我们有一个军训方队, 每天要点名, 这时候我们实现了如下代码:先定义一个学生类:原创 2020-10-11 11:01:14 · 125 阅读 · 0 评论 -
不能说的秘密?标记接口模式来帮忙
目的标记一个类拥有某个能力或者使得其与其他类区分开例子代码这世上男人的身高和女人的体重是不可以被大家知道的, 所以别人问的时候我们都需要进行加密/脱敏, 比如我一米八(吧)并没有到处说.[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NJ2svPku-1602296383846)(/assets/2019120801.png)] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接原创 2020-10-11 10:59:52 · 188 阅读 · 0 评论 -
队友总抢好装备, 互斥模式(Mutex Pattern)来安慰
目的保护一个资源在同一时间只会有一个资源持有者访问/操作例子代码最近好久没玩吃鸡了, 手都生了, 每局都是第二名的我不想过度吹嘘的我刚(fu)枪(di)技能, 最近一局很气, 我带着队友刚到房区, 刚下车听到三个脚步声知道打不过, 开车就跑, 但是倒地的队友挡住了我的车, 导致一起落地成盒了, 有队友好烦呀[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-b8jDkveg-1602296325263)(/assets/2020053000.png)] [外链图片转存失败,原创 2020-10-10 10:19:31 · 234 阅读 · 0 评论 -
又催婚?别怪我亮出 Null Object Pattern
目的避免上层代码进行空指针异常检查和保持上层代码的可读性和简洁性例子代码今年你妈逼你结婚了么? 程序猿的单身, 每到情人节, 七夕节, 1024 程序猿节甚至本来是单身狗保护日的双十一, 我们都被无情的秀恩爱秀了一脸, 最可怕的是到了过年回家, 面对七大姑八大姨的质问, 一句大侄子处对象了么, 一句还没呢足以让你成为接下来半小时的重点照顾对象(是不是眼光高呀, 我们村有个叫兰兰的不错, 你是不是 gay 呀), 对于这种情况我只有以下三点要说: …父母这面更是花式催婚啦, 什么看奶粉广告(你看电视这原创 2020-10-10 10:18:34 · 148 阅读 · 0 评论 -
小黄车退押金?池对象模式(Object Pool Pattern)来吐槽
目的节省一组常用对象创建的耗时例子代码你的小黄车押金退了么? 共享经济这个词从小黄车和摩拜之争被大家所关注, 目前二家的创始人的境遇完全不同, 但辉煌时刻都是非常不一般的, 融资过亿, 街道到处都是二个车的影子, 而现在还存在着人们视野中的共享经济应该还有共享雨伞和共享充电宝了.[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MBgYiM2Y-1602296227251)(/assets/2019122801.png)]简单来讲共享经济其实就是使用了对象池模式, 所以原创 2020-10-10 10:17:42 · 231 阅读 · 0 评论 -
及时获取一手信息,观察者模式来帮忙
目的保持对象之间的联动和最终一致例子代码疫情还没过去, 生活还要继续, 最近从村里来到了上海打工, 好慌呀, 一千米之内三个确诊小区, 最近的 700 米, 回想一开始疫情开始抢口罩没抢过人家, 抢连花清瘟也没抢过, 双黄连口服液一醒来就没了, 好奇呀, 这就是定时看新闻不能及时获取信息的结果, 所以这里我向大家推荐新闻的自动推送强制提醒模式 -> 观察者模式比如我们有个新闻热词的汇总搜索功能, 当新闻的热词更新的时候会发送给订阅他的人先定义观察者的通用接口(对应 java 中的 java.原创 2020-10-10 10:16:53 · 292 阅读 · 0 评论 -
想参加多人运动?并行流(ParallelStream)模式教你成为时间管理大师
目的提高程序运行效率, 减少响应时间或者增加吞吐量例子代码最近罗*祥, 福报厂P12 jf 引起了大家的关注, 二位都是因为私人生活问题, 搞的微博程序员天天加班加服务器, 让我等吃了一个又一个瓜, 真是犯了全天下男人都会犯的错, 我感觉我就不会犯这种错, 当然是因为我是个好男人主要是因为没钱, 没名, 身体也…行了行了, 说远了, 我们还是可以从他们身上学习到这个时间管理大法的, 从而可以有时间多参加 ‘多人运动’我们假设有这么一个 ‘太虚公子’ 这个一个坏男孩, 要和三位女孩一起玩(shui)原创 2020-10-10 10:16:06 · 24595 阅读 · 0 评论 -
一聊天就洗澡? (Partial Response Pattern)部分响应模式让你抓住女神的点
目的客户端指定自己需要的数据, 从服务端只向客户端传输必要的数据例子代码马上要到年底了, 又要紧急相亲了, 想起我这相亲史不禁潸然泪下, 输给叙利亚的从未赢过的国足版差强人意[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-trNOvFAV-1602296076384)(/assets/2019111601.png)]遥想那是我第一次相亲, 我问 “你多大”, 她说 C, 第二次相亲的问我: “你多大”, 我说 20 CM, 第三次 …, 以上都是玩笑了, 其实相亲也没原创 2020-10-10 10:15:11 · 287 阅读 · 0 评论 -
你说五毛就五毛? 生产者消费者模式(Producer Consumer Pattern)来讲解
目的效率型设计模式, 意义在于不阻塞主流程的同时完成异步操作, 比如发邮件短信, 完成耗时的任务等例子代码最近蜂巢收费 5 毛的事件引起了业主和物业的强烈反对, 5 毛钱其实也不是很多, 掉地上有人都不看一眼的, 也就我们这种中年男人才会捡起来揣兜里, 我们先来看看没有蜂巢的时候我们的快递其实是比较不方便的, 我们假设快递物品必须要交到收货人手里, 不然可能会有丢失风险.先定义一个货物类:@Data@AllArgsConstructor//货物public class Good {原创 2020-10-10 10:14:21 · 289 阅读 · 0 评论 -
震惊! 百年名校校长涉嫌学术造假! 原型模式(Prototype Pattern)来解释
目的通过复制来降低创建复杂对象的时候耗时占用的资源和降低耗时例子代码[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hGD21t2B-1602295953288)(/assets/2019122100.png)]前段日子是南开的大事件, 国家主席来到南开, 南开人也一起庆祝百年校庆, 这次还好我们的校长没有像某京大学的校长鸿浩(鹄)之志读个不停, 结果锅从天上来, 现任校长被指涉嫌抄袭, 论文换个图就发了个新论文, 情况大概是这样的:我们简化论文的结构如下:@Data原创 2020-10-10 10:13:09 · 327 阅读 · 0 评论 -
一假到底, 原来是代理模式(Proxy Pattern) 在作怪
目的为实际访问的对象增加控制能力例子代码最近专利小学生火了, C10orf67 在结直肠癌发生发展中的功能与机制研究, 这标题他都没看懂拿去参赛获奖了, 还有近期厦大和天大的同学毕业论文大部分段落重复的问题, 还有之前的校长气功治疗癌症争议, 不禁让人感慨, 少年强则国强, 少年假则国假, 希望以后学术氛围会越来越好.我们定义一个 Owner 接口代表论文的编写人:public interface Owner { String writePaper(String condition);原创 2020-10-10 10:12:21 · 118 阅读 · 0 评论 -
创建型模式半壁江山之简单工厂模式
目的使得客户端不必要关心产品的构造的细节例子代码最近也不知道玩什么, 开始想想有什么动漫可以追, 以下是我追过的一些动漫了, 小伙伴们有什么喜欢的动漫么?[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ryFJUMzC-1602295843436)(/assets/2019113001.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PG0yPKSA-1602295843438)(/assets/2019113002.png.原创 2020-10-10 10:11:17 · 112 阅读 · 1 评论 -
不良PUA到底多可怕?状态模式来揭秘
目的将各个状态在不同外在事件影响下的表现清晰的呈现出来, 添加新的状态的时候尽量少改动代码例子代码最近的北大女孩自杀事件让 PUA 进入了大家的视野, 我个人趁此看了下 PUA, 觉得没啥用, 真的想找到另一半最后不还是要真心 (钱)么, 为了避免更多的女孩陷入 PUA 陷阱, 我们在这里使用状态模式讲讲 PUA 的那些事:下面是一个女孩的状态:@Getter@AllArgsConstructorpublic enum GetLongStateEnum { NOT_KNOWN_EACH原创 2020-10-09 20:04:15 · 616 阅读 · 0 评论 -
杭州女子失踪案告破, 绞杀者模式(Strangler Pattern)来预防
目的做新老代码迁移的时候保证原有功能逐步迁移并且不会印象开发新功能例子代码最近一杭州女子离奇失踪的事情引起了大家的关注, 大致是讲一位女士被报案失踪, 小区的监控全部没监视到如何离开小区的, 目前的结果竟然是重组家庭的丈夫因为利益原因将其杀害分尸并抛到化粪池, 之后还淡定报警接受采访等, 小道消息说他动手之前还问了问老婆那句 “我还有机会么”,[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5ahjt0em-1602244968253)(/assets/20200725原创 2020-10-09 20:03:19 · 321 阅读 · 0 评论 -
Strategy Pattern 教你秒变“神枪手”
目的做一件事情有不同的实现方式, 可以将变化的部分和不变得部分剥离开, 去除大量的 if/else, 提供高扩展性例子代码比如我们要带妹吃鸡, 就要成为一个神枪手, 在各种枪战游戏中, 有各种不同的枪, 我们要根据实际情况(比如射程)的不同选择不同的枪进行射击, 我们可以假设每把枪的子弹数量都不富裕, 我们要用最合适的方法, 最少的子弹完成最强的伤害, 最终大吉大利, 今晚就可以想带妹子去哪里吃鸡都可以啦, 真的是哪里都可以哦比如我们距离对手在一米内的时候使用平底锅( 想我当时三级头三级甲, 手持原创 2020-10-09 20:02:35 · 191 阅读 · 0 评论 -
凯文也过不了字节跳动试用期?线程变量模式(Thread Local Pattern)来讲述
目的减少方法入参, 一次请求处于相同的上下文中例子代码最近 Kevin 刚从迪士尼跳槽到字节跳动, 还没有过试用期就离职了, 安倍晋三也由于身体原因辞去日本首相的工作我们先创建一个 ThreadLocal 的实例:public static final ThreadLocal<User> INTEGER_THREAD_LOCAL = new ThreadLocal<>();我们在多个线程中描述这个事情:IntStream.range(1, 10) .par原创 2020-10-09 20:00:43 · 756 阅读 · 0 评论 -
国庆在五一抢公章, 竟是因为老婆不知道节流模式(Throttling Pattern)
目的优雅的控制不同的客户端访问服务端的次数例子代码DuangDuang 网 GUOQING 在五一抢夺公章, 竟然是因为知道老婆不懂节流模式?夫妻股票占比超过 90%, 但是占比 8% 的股东们最近乐了, 夫妻打架每方都要拉拢他们来掌握公司大权, 看来是瞬间变成大股东了, 可惜当年融资的时候找我我没有同意, 不然不是发达了,当然了, 我们把公章服务作为服务端体现出来, 把需要申请公章的人作为客户端抽象出来, 限制客户端的规则可以这么做:public interface RemoteService原创 2020-10-09 19:59:57 · 128 阅读 · 0 评论 -
做公众号收入百万的这一年, 时间窗口模式 (Time Window Pattern) 来讲解
年终总结写了微信公众号一年啦, 想要总结一下这年的写作情况这一年总共写了 40 篇文章, 最后有 221 位小伙伴关注了 codog代码狗文章总结这些文章里面有一些比较典型的文章, 下面我来列举一下:第一篇写的文章: 还是母胎solo?不如用Builder Pattern 捏一个男/女朋友阅读量/再看/赞赏最高的文章: 又催婚?别怪我亮出 Null Object Pattern点赞数最高的文章: 杭州女子失踪案告破, 绞杀者模式(Strangler Pattern)来预防阅读量次高文章: 不原创 2020-10-09 19:59:09 · 202 阅读 · 0 评论 -
想要生活过得去,总得读点宽容读者模式
目的依赖的系统改变了自己的模型, 我们的系统尽量不崩掉例子代码女神有很多属性, 我们只需要读必要的属性, 要想生活过得去, 头上总得有点绿.@Data@AllArgsConstructorpublic class GirlGod { private String name; private LocalDate birthday; private String weChatId; //是否正在学英语 private Boolean makingLov原创 2020-10-09 19:58:23 · 141 阅读 · 0 评论 -
月入五万也被丈母娘嫌弃? 值对象模式(Value Object Pattern)来帮忙
目的值对象=值+对象=将一个值用对象的方式进行表述,来表达一个具体的固定不变的概念[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RyNRbWjz-1602244531841)(/assets/2019112506.png)]例子代码大家都知道, 钱不是万能的, 但没有钱是万万不能的, 最近经济不好, 听说国民老公撕葱和著名发布会相声演员浩浩都被限制了消费,[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qV6kBSPF-16022445原创 2020-10-09 19:56:54 · 200 阅读 · 0 评论 -
根据加班时长裁员, 参观者模式(Visitor Pattern)来讨论
目的为一组各种数据提供同一个维度的访问方法例子代码最近360裁员又是一波新闻, 其实近年来互联网公司裁员也是司空见惯了, 感觉应该是经济大环境不好加上互联网越来越冷静了, 感觉上除了头条和拼多多还能逆势扩招, 其他大厂明里暗里裁员, 最好的也就还有少量招聘名额…在这种情况下, 比如我们要统计加班时长裁员, 交到我们手里可能会这么写:先定义一个员工类:@Datapublic abstract class Employee { //工作时长 protected Integer wo原创 2020-10-09 19:55:08 · 264 阅读 · 0 评论 -
jk 漫展底裤泄露, 竟然是属性注解模式惹的祸
目的可以屏蔽掉不同类的区别, 标记某些属性的不同从而对这些属性统一处理例子代码最近上海漫展一位身着大胆的女孩去报警, 因为自己身着 jk 制服参加漫展, 在地上做出各种姿势的时候走光被人偷拍, 并被职责污染了 jk 的圈子, 同时还有一则互联网届的新闻, 由于 sonar 服务器配置问题, 多个知名的互联网企业的代码都有泄露, 微软小米任天堂迪士尼等https://v.qq.com/x/page/y3127ka8n1t.html比如我们要初步描述这两个事件:定义一个企业类:@Data@All原创 2020-08-02 13:12:30 · 12314 阅读 · 0 评论 -
秃头竟然是原罪, 单例模式带你唱小白船
目的限制类的实例数量在系统内唯一例子代码最近 <隐秘的角落> 作为一个口碑流量俱佳的网剧, 我给大家讲一讲, 大概情节是这样的:里面一个脱发程序员, 带着老婆的爸妈去登山拍照, 没想到秀了个发型把人家都吓到山下摔死了, 后续被三个音(阴)乐爱好者边唱着<小白船> (https://y.qq.com/portal/player.html) 边给录了下视频, 和他讲是这事老婆知道了肯定得闹离婚, 最好给他们三十万, 他们就把内存卡还给他, 结果复制了个内存卡欺负我们老实程序员,原创 2020-07-04 11:04:13 · 177 阅读 · 0 评论 -
高管触碰红线员工消失,读写锁模式(Read Write Pattern)来破谣
目的维护一起请求读的一致性, 避免一起请求读取相同的数据但是得到不同的结果, 相比于互斥锁有更好的并发例子代码最近福报厂的价值观又上了热搜, 微博因为蒋某热榜停更一周, 一个 P8 也试图以权谋色, 重演绿地70后高管的套路, 然后被开除了, 二个相似的对比不禁让人感慨, 员工触犯红线, 员工消失, 高管触犯红线, 红线消失.比如我们有这样一个存储结构里面有福报厂最近的大瓜可以吃public class BadEventPool { public static final List<原创 2020-06-29 15:30:09 · 312 阅读 · 0 评论 -
爱情也可以买卖么, Semaphore Pattern(信号量模式) 来摆摊
目的保护一组资源中的每个资源都不会受到并发访问而导致不一致例子代码男: 砸了你的摊, 逼着你离开, 最后知道真相的我眼泪掉下来, 砸了你的摊, 我背了良心债, 就算付出再多感情也再买不回来女: 当初是你要分开, 分开就分开, 如今又要用真(政)爱(策), 把我哄回来, 摆摊不是你想摆, 想摆就能摆, 让我挣开, 让我明白, 放手你的爱摆摊经济一出, 各国人都开启了摆摊之旅:可是摊位有限, 不能随便摆哦, 我们来讲讲这里面的故事:我们定义一下货物类://商品@Data@AllA原创 2020-06-06 14:06:57 · 256 阅读 · 0 评论