上一页 1 ··· 36 37 38 39 40 41 42 43 44 ··· 52 下一页
摘要: 什么是迪米特原则 能够指导我们实现“高内聚、松耦合”的代码 迪米特原则的定义是: 只与你的直接朋友交谈,不跟“陌生人”说话(Talk only to your immediate friends and not to strangers)。其含义是:如果两个软件实体无须直接通信,那么就不应当发生直接 阅读全文
posted @ 2020-01-03 09:45 意犹未尽 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 什么是DRY Don’t Repeat Yourself 不要定义重复代码 实现逻辑重复 public class UserAuthenticator { public void authenticate(String username, String password) { if (!isVali 阅读全文
posted @ 2020-01-03 09:36 意犹未尽 阅读(313) 评论(0) 推荐(0) 编辑
摘要: 什么是KSS原则 “Simple and Stupid” 尽量保证简单 代码行数越少就越“简单”吗? 需求 一个合法的 IP 地址由四个数字组成,并且通过“.”来进行分割。每组数字的取值范围是 0~255。第一组数字比较特殊,不允许为 0。对比这三段代码,你觉得哪一段代码最符合 KISS 原则呢?如 阅读全文
posted @ 2020-01-02 17:02 意犹未尽 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 什么是控制反转(IOC) public class UserServiceTest { public static boolean doTest() { // ... } public static void main(String[] args) {//这部分逻辑可以放到框架中 if (doTes 阅读全文
posted @ 2020-01-02 16:34 意犹未尽 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 客户端不应该强迫依赖它不需要的接口。其中的“客户端”,可以理解为接口的调用者或者使用者。 看起来和单一职责很像 单一职责是约束类和模块 接口隔离原则是约束接口或函数 三种表现形式 "接口"理解为一组API 微服务接口比如dubbo Service 反例 public interface UserSe 阅读全文
posted @ 2020-01-02 15:42 意犹未尽 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 什么是里式替换原则 子类对象(object of subtype/derived class)能够替换程序(program)中父类对象(object of base/parent class)出现的任何地方,并且保证原来程序的逻辑行为(behavior)不变及正确性不被破坏。 正例 public c 阅读全文
posted @ 2020-01-02 09:46 意犹未尽 阅读(353) 评论(0) 推荐(0) 编辑
摘要: 什么是开闭原则 对修改封闭,对扩展开放 当我们增加一个功能的时候,应该在已有功能上扩展,而不是在已有功能上进行修改(修改模块、类、方法) 违反开闭原则的例子 下面有个监控的例子 当发生错误或者qps到达某个阀值的时候发出预警 public class Alert { /** * 存储告警规则 可以自 阅读全文
posted @ 2019-12-31 17:47 意犹未尽 阅读(446) 评论(0) 推荐(0) 编辑
摘要: 什么是单一职责 一种理解是:把模块看作比类更加抽象的概念,类也可以看作模块。另一种理解是:把模块看作比类更加粗粒度的代码块,模块中包含多个类,多个类组成一个模块。 一个类只负责完成一个职责或者功能。也就是说,不要设计大而全的类,要设计粒度小、功能单一的类。换个角度来讲就是,一个类包含了两个或者两个以 阅读全文
posted @ 2019-12-30 16:27 意犹未尽 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 需求 实现一个接口鉴权的功能,实现思路 1.调用端下发一个appId和秘钥 2.调用端将每次传过来的参数url后面都要带上appId+时间戳同时根据url+appId+时间戳+参数+秘钥进行MD5加密后通过token参数传过来 3.获取时间戳判断是否过期(假定1分钟) 如果过期鉴权失败 4.服务端解 阅读全文
posted @ 2019-12-30 09:44 意犹未尽 阅读(363) 评论(0) 推荐(0) 编辑
摘要: 贫血模型 贫血模型例子 现在传统的MVC开发基本上都是贫血模型 如以下代码 我们工作中经常使用 ////////// Controller+VO(View Object) ////////// public class UserController { private UserService use 阅读全文
posted @ 2019-12-27 14:54 意犹未尽 阅读(1553) 评论(0) 推荐(0) 编辑
上一页 1 ··· 36 37 38 39 40 41 42 43 44 ··· 52 下一页