上一页 1 ··· 37 38 39 40 41 42 43 44 45 ··· 52 下一页
摘要: 客户端不应该强迫依赖它不需要的接口。其中的“客户端”,可以理解为接口的调用者或者使用者。 看起来和单一职责很像 单一职责是约束类和模块 接口隔离原则是约束接口或函数 三种表现形式 "接口"理解为一组API 微服务接口比如dubbo Service 反例 public interface UserSe 阅读全文
posted @ 2020-01-02 15:42 意犹未尽 阅读(271) 评论(0) 推荐(0)
摘要: 什么是里式替换原则 子类对象(object of subtype/derived class)能够替换程序(program)中父类对象(object of base/parent class)出现的任何地方,并且保证原来程序的逻辑行为(behavior)不变及正确性不被破坏。 正例 public c 阅读全文
posted @ 2020-01-02 09:46 意犹未尽 阅读(359) 评论(0) 推荐(0)
摘要: 什么是开闭原则 对修改封闭,对扩展开放 当我们增加一个功能的时候,应该在已有功能上扩展,而不是在已有功能上进行修改(修改模块、类、方法) 违反开闭原则的例子 下面有个监控的例子 当发生错误或者qps到达某个阀值的时候发出预警 public class Alert { /** * 存储告警规则 可以自 阅读全文
posted @ 2019-12-31 17:47 意犹未尽 阅读(466) 评论(0) 推荐(0)
摘要: 什么是单一职责 一种理解是:把模块看作比类更加抽象的概念,类也可以看作模块。另一种理解是:把模块看作比类更加粗粒度的代码块,模块中包含多个类,多个类组成一个模块。 一个类只负责完成一个职责或者功能。也就是说,不要设计大而全的类,要设计粒度小、功能单一的类。换个角度来讲就是,一个类包含了两个或者两个以 阅读全文
posted @ 2019-12-30 16:27 意犹未尽 阅读(232) 评论(0) 推荐(0)
摘要: 需求 实现一个接口鉴权的功能,实现思路 1.调用端下发一个appId和秘钥 2.调用端将每次传过来的参数url后面都要带上appId+时间戳同时根据url+appId+时间戳+参数+秘钥进行MD5加密后通过token参数传过来 3.获取时间戳判断是否过期(假定1分钟) 如果过期鉴权失败 4.服务端解 阅读全文
posted @ 2019-12-30 09:44 意犹未尽 阅读(375) 评论(0) 推荐(0)
摘要: 贫血模型 贫血模型例子 现在传统的MVC开发基本上都是贫血模型 如以下代码 我们工作中经常使用 ////////// Controller+VO(View Object) ////////// public class UserController { private UserService use 阅读全文
posted @ 2019-12-27 14:54 意犹未尽 阅读(1580) 评论(0) 推荐(0)
摘要: 主流的几种编程模式 面向对象编程、面向过程编程、函数式编程 面向过程编程的语言: Basic、Pascal、C 什么是面向对象编程 面向对象编程是一种编程范式或编程风格。它以类或对象作为组织代码的基本单元,并将封装、抽象、继承、多态四个特性,作为代码设计和实现的基石 。 面向对象编程语言是支持类或对 阅读全文
posted @ 2019-12-23 10:15 意犹未尽 阅读(264) 评论(0) 推荐(0)
摘要: 死锁 错误例子 解决方式 防止死锁 通过设置超时时间 不要使用setnx key expire 20 不能保证原子性 如果setnx程序就挂了 没有执行expire就死锁了 reidis2.8版本提供 set lock:key1 true ex 5 nx 方式 保证了 setnx+expire原子性 阅读全文
posted @ 2019-12-18 15:11 意犹未尽 阅读(1519) 评论(0) 推荐(0)
摘要: 文件搜索命令 grep在文件中查找字符并输出 grep 字符或字符串 文件目录 grep pub /teach/1.txt -c 字符出现总行数 grep public /teach/1.txt -n 行号 grep public /teach/1.txt -i 不区分大小写 grep -5 'pa 阅读全文
posted @ 2019-11-01 14:10 意犹未尽 阅读(229) 评论(0) 推荐(0)
摘要: 占用空间测试地址 https://krisives.github.io/bloom-calculator/ pom依赖 <dependency> <groupId>org.redisson</groupId> <artifactId>redisson</artifactId> <version>3. 阅读全文
posted @ 2019-10-24 14:13 意犹未尽 阅读(401) 评论(0) 推荐(0)
上一页 1 ··· 37 38 39 40 41 42 43 44 45 ··· 52 下一页