文章目录
依赖倒置原则
- 依赖倒置原则
- 依赖倒置原则实战
- 使用依赖倒置原则进行改变
- 案例中两种方式的类图
定义: 程序要依赖于抽象接口, 不要依赖于具体实现, 对抽象进行编程, 而不是对实现进行编程, 降低了客户与实现模块的耦合. 高层模块不应该依赖底层模块, 都应该依赖抽象(接口 抽象类)
上级找下级, 一般不会直接找你 ,而是通过助理等找到. 下级去依赖上级的标准等. 上级出的标准, 不需要去关心下级如何去实现的. 降低上级的耦合性. spring的spi机制等.
依赖倒置原则实战随机抽奖与权重抽奖. 不使用依赖倒置原则的写法 : 定义抽奖用户类
public class BetUser {
private String userName;
// 权重
private int userWeight;
public BetUser() {
}
public BetUser(String userName, int userWeight) {
this.userName = userName;
this.userWeight = userWeight;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public int getUserWeight() {
return userWeight;
}
public void setUserWeight(int userWeight) {
this.userWeight = userWeight;
}
}
抽奖控制类, 在抽奖控制类中, 分别实现了随机抽奖, 和根据权重排序抽奖的方法.
public class DrawControl {
/**
// 随机抽奖
* @param list 抽奖的人集合
* @param count 中奖人数
* @return
*/
public List doDrawRandom(List list, int count) {
if (list.size() 0 ? 1 : -1;
});
// 取出指定数量的中奖用户
List prizeList = new ArrayList(count);
for (int i = 0; i
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?