写点什么

三、设计模式

用户头像
Geek_28b526
关注
发布于: 2020 年 11 月 07 日

单例模式



组合模式输出登录面板

Component基础组件接口

public interface Component {
public void render();
}



Frame

import java.util.ArrayList;
import java.util.List;
public class Frame implements Component {
private List<Component> components = new ArrayList<>();
public void addComponent(Component component) {
this.components.add(component);
}
@Override
public void render() {
for(Component cp : components) {
cp.render();
}
}
}

CommonComponent一个通用示例实现, 如Button、lable等

public class CommonComponent implements Component {
private String name;
public CommonComponent(String name) {
this.name = name;
}
@Override
public void render() {
System.out.println("component:"+name);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

Test测试

public class Test {
public static void main(String[] args) {
Frame frame = new Frame();
frame.addComponent(new CommonComponent("logo"));
Frame loginFrame = new Frame();
loginFrame.addComponent(new CommonComponent("lable用户名"));
loginFrame.addComponent(new CommonComponent("用户名文本框"));
loginFrame.addComponent(new CommonComponent("lable密码"));
loginFrame.addComponent(new CommonComponent("密码框"));
loginFrame.addComponent(new CommonComponent("复选框"));
loginFrame.addComponent(new CommonComponent("记住用户名"));
loginFrame.addComponent(new CommonComponent("忘记密码"));
frame.addComponent(loginFrame);
frame.addComponent(new CommonComponent("登录"));
frame.addComponent(new CommonComponent("注册"));
frame.render();
}
}



用户头像

Geek_28b526

关注

还未添加个人签名 2020.02.26 加入

还未添加个人简介

评论

发布
暂无评论
三、设计模式