
程序设计
尘世间一名迷途小码农
热衷于用技术思维去解决问题,厌恶低效,热衷自动化和智能化,释放人的创造性。
InfoQ博客:www.infoq.cn/u/justyman
展开
-
16种设计思想 - Design for failure
一直在说互联网系统应该是design for failure,今天看到的这篇文介绍的虽是简单几句话,但妥妥的设计思想,还是蛮契合SRE精髓。作为一名designer或者developer,应该要对墨菲定律心存敬畏,以下讲一下我对这16中设计思想的一个大致看法吧。1、防御性设计(Defensive Design)所谓的防御性设计实际上就是“防呆”,英文叫Idiot Proofing。说白了就是用户有时候会不自觉的做一些蠢事,我们在设计的时候要尽量考虑到一些不规范的交互行为,如果你的用户是一只猴子.原创 2020-07-06 00:45:41 · 2042 阅读 · 1 评论 -
【设计模式第二弹】责任链模式
前言上一篇我们讲到了策略模式【设计模式第一弹】,实际上我理解是责任链模式跟策略模式在某种程度上是类似的,毕竟它们也是基于接口或者基于抽象类编程的,只是在具体的实现类的使用上面有点不太一样。策略模式:更多是通过上下文去动态决定选用哪一种策略,关键在于只选取其中一种。责任链模式:更多是通过上下文去动态决定选用一组策略,并且通过类似链表的组合方式进行具体策略的编排,关键在于组合编排。哔哩吧啦说了一通,我们还是直接进入主题吧。何为责任链某度的定义就是:它是一种设计模式,...原创 2020-05-16 22:41:52 · 280 阅读 · 0 评论 -
【设计模式第一弹】策略模式
前言以前一直就想整理一下以前使用过的设计模式,趁着现在有点激情而且也从日常的代码中发现,好的代码真的可以在一定程度上解决可维护性的问题, 真心说一句“微服务不是银弹,但良好的设计模式绝对是铜弹”。不废话,这次先整理一下我以前比较喜欢使用的策略模式。啥是策略模式说白了实际上就是针对同一个通用的接口,把一组实现策略或者算法封装起来并实现到这个接口中。对于这个接口的外部看来,...原创 2020-04-30 11:07:54 · 279 阅读 · 0 评论 -
论如何优雅的消灭If-else
前言看到项目代码中有N多“If..else”,对于一个代码洁癖患者来说是非常不舒服的,同时我觉得写出优雅的代码是可以提升程序猿的工作满意度。这次我就把我之前做法及网上的一些做法做一个汇总,以备后续参考。丑陋的代码Animal animal = new Animal();if ("monkey".equals(animalType)){ animal.setFeet(2...原创 2020-04-09 22:55:02 · 1183 阅读 · 0 评论