写了一个简单的Java三层结构,对数据如何在三个层次中来回传送有了基本的认识。

一,模型层
先从整个程序的最底层说起, 模型层是定义整个程序需要什么样的数据,就像一个模子,我们只有提前做好模子的大小形状,剩下的就是把数据往里面装。我们这里因为是极简银行系统,就只保留必要的两个数据一个是卡号,一个是账户钱数。

为了保护数据安全,我们要把两个变量类型 定义为私人的(private),当然写的是模型为了方便写成公共的也是可以的。
下面就要给变量写接口:
这样,我们的模型层就算写完了,可以做到数据的输入与输出。
注:最后一行代码是一键输出数据,可有可无,但是为了方便观察数据我们这里写上。
二,业务层
业务层是整个项目的承重墙,整个项目的功能都是靠业务层来做到。我们这个系统需要两个用户来实现接下来的功能,所以我就在业务层里设定两个用户变量,并给他们赋初值。

下面的变量同理依次赋值,赋好值就要把值输出,看是否赋值成功。

现在业务逻辑层就写完了,我们要将数据传出去。
BankRuKou是该项目的用户表现层,也是该项目的入口,我们现在把数据传给了界面层,
三,界面层
界面层是整个项目给别人看到的地方,不恰当的说在这个小的项目里它就相当于前端。

界面层的代码量是不多的,由于不停的写方法,调函数使得 数据可以在三个层里面来回调用,这样界面层就可以简洁明了。
注:子方法不能写在主方法下面,而且一个项目只能有一个主方法,其余的都是子方法。在这个项目只有界面层有主方法,其余两个层都不是主方法。
四,输出结果

这样一个输入输出的简单程序就写好了 ,后面我会对这个程序一点点扩充,让它向简单的银行系统靠拢。
五,代码
1.界面层
public class BankRuKou {
public static void main(String[] args) {
ChuZhi duixiang = new ChuZhi();
duixiang.xinxi();
System.out.println("欢迎使用本银行系统");
}
public static void shuchu ( Model yonghu1,Model yonghu2){
System.out.println("输出所有用户信息");
System.out.println(yonghu1);
System.out.println(yonghu2);
}
}
2.业务逻辑层
public class ChuZhi {
public void xinxi(){
Model yonghu1 = new Model();
Model yonghu2 = new Model();
Scanner scanner = new Scanner(System.in);
System.out.println("输入用户1的卡号");
int id = scanner.nextInt();
yonghu1.setId(id);
System.out.println("输入用户1的钱数");
int money = scanner.nextInt();
yonghu1.setMoney(money);
System.out.println("输入用户2的卡号");
int id2 = scanner.nextInt();
yonghu2.setId(id2);
System.out.println("输入用户2的钱数");
int money2 = scanner.nextInt();
yonghu2.setMoney(money2);
BankRuKou.shuchu(yonghu1,yonghu2);
}
}
3.模型层
public class Model {
//定义要用到的属性
private Integer id;
private Integer money;
public Model() {
}
public Model(Integer id, Integer money) {
this.id = id;
this.money = money;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getMoney() {
return money;
}
public void setMoney(Integer money) {
this.money = money;
}
public String toString() {
return "卡号" + id + ", 钱数:" + money;
}
}
```
原文链接: https://blog.csdn.net/daibadetianshi/article/details/137744142