【架构师训练营 - week3 -1】作业

发布于: 2020 年 06 月 25 日
【架构师训练营 - week3 -1】作业

作业一:

请在草稿纸上手写一个单例模式的实现代码,拍照提交作业。

作业二:

请用组合设计模式编写程序,打印输出图 1 的窗口,窗口组件的树结构如图 2 所示,打印输出示例参考图 3。

public class Main {
public static void main(String[] args) {
WinFormInterface winFormInterface = new WinForm();
winFormInterface.printPicture("log图片");
winFormInterface.printButton("登录");
winFormInterface.printButton("注册");
Frame frame = winFormInterface.getFrame();
frame.getLabel().getCustomLabel().print("用户名");
frame.getBox().getTextBox().print("文本框");
frame.getLabel().getCustomLabel().print("密码");
frame.getBox().getPasswordBox().print("密码框");
frame.getBox().getCheckBox().print("复选框");
frame.getBox().getTextBox().print("记住用户名");
frame.getLabel().getLinkLabel().print("忘记密码");
}
}
public interface WinFormInterface {
void printPicture(String pictureName);
void printButton(String buttonName);
Frame getFrame();
}
public class WinForm implements WinFormInterface {
public WinForm(){
System.out.println("WINDOWS窗口");
}
public void printPicture(String pictureName) {
System.out.println(pictureName);
}
public void printButton(String buttonName) {
System.out.println(buttonName);
}
public Frame getFrame() {
System.out.println("FRAME1");
return new Frame();
}
}
public class Frame {
public Label getLabel() {
return new Label();
}
public Box getBox() {
return new Box();
}
}
public class Label {
public CustomLabel getCustomLabel() {
return new CustomLabel();
}
public LinkLabel getLinkLabel() {
return new LinkLabel();
}
}
public class Box {
public TextBox getTextBox() {
return new TextBox();
}
public PasswordBox getPasswordBox() {
return new PasswordBox();
}
public CheckBox getCheckBox() {
return new CheckBox();
}
}
public class CheckBox extends Print {
}
public class CustomLabel extends Print {
}
public class LinkLabel extends Print {
}
public class PasswordBox extends Print {
}
public class TextBox extends Print {
}
public class Print {
public void print(String name) {
System.out.println(name);
}
}

用户头像

早睡早起

关注

还未添加个人签名 2019.09.05 加入

还未添加个人简介

评论

发布
暂无评论
【架构师训练营 - week3 -1】作业