写点什么

架构师训练营 第三周作业

用户头像
Glowry
关注
发布于: 2020 年 06 月 23 日

作业第1题:

手写单例类

使用场景:

不用进行实例重新申请;

多用户使用同一实例进行统一控制;





作业第2题:



接口:

public interface Module {
public void print();
}



普通组件:

public class BaseModule implements Module {
private String name;
public BaseModule(String name) {
this.name = name;
}
public void print() {
System.out.println(name);
}
}



窗口组件:

public class Container extends BaseModule {
private List<Module> children;
public Container(String name) {
super(name);
children = new LinkedList<>();
}
public Container add(BaseModule m) {
children.add(m);
}
public void print() {
super.print();
children.forEach(BaseModule::print);
}
}



入口:

public class Window {
public static void main(String[] args) {
Container winFrom = new Container("WINDOW窗口");
BaseModule picture = new BassModule("LOGO图片");
BaseModule loginButton = new BassModule("登录");
BaseModule registerButton = new BassModule("注册");
Container frame1 = new Container("Frame1");
BaseModule usernameLabel = new BassModule("用户名");
BaseModule textBox1 = new BassModule("文本框");
BaseModule passwordLabel = new BassModule("密码");
BaseModule passwordBox = new BassModule("密码框");
BaseModule checkBox = new BassModule("复选框");
BaseModule textBox2 = new BassModule("记住用户名");
BaseModule linkTable = new BassModule("忘记密码");
winFrom.add(picture);
winFrom.add(loginButton);
winFrom.add(registerButton);
winFrom.add(frame1);
frame1.add(usernameLabel);
frame1.add(passwordLabel);
frame1.add(passwordBox);
frame1.add(checkBox);
frame1.add(textBox2);
frame1.add(linkTable);
winFrom.print();
}
}



用户头像

Glowry

关注

还未添加个人签名 2019.02.13 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营 第三周作业