模式与重构 - 作业

用户头像
秤须苑
关注
发布于: 2020 年 07 月 02 日

第一题:请在草稿纸上手写一个单例模式的实现代码





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





构建Window接口

package com.test;
public interface Window {
public void winFom(String input);
public void pictrue(String input);
public void button(String input);
public void frame();
}



构建Frame接口

package com.test;
public interface Frame {
public void lable(String input);
public void textbox(String input);
public void frameInfo();
public void linkLable(String string);
}




构建Frame实现类

package com.test;

public class FrameImpl implements Frame {
@Override
public void lable(String input) {
System.out.println("print lable ("+input+")");
}

@Override
public void textbox(String input) {
System.out.println("print textbox ("+input+")");
}

@Override
public void frameInfo() {
System.out.println("print frameInfo (frame1)");
}


@Override
public void linkLable(String input) {
System.out.println("print linkLable("+input+")");
}
}




构建WINDOW实现类

package com.test;

public class WindowImpl implements Window{
private WindowImpl() {}

private static Window window = new WindowImpl();
public static Window getWindow() {
window.winFom("WINDOW窗口");
window.pictrue("LOGO图片");
window.button("登录");
window.button("注册");
window.frame();
return window;
}
@Override
public void winFom(String input) {
System.out.println("print winFom ("+input+")");
}

@Override
public void pictrue(String input) {
System.out.println("print pictrue ("+input+")");
}

@Override
public void button(String input) {
System.out.println("print button ("+input+")");
}

@Override
public void frame() {
Frame frameInfo = new FrameImpl();
frameInfo.frameInfo();
frameInfo.lable("用户名");
frameInfo.textbox("用户名框");
frameInfo.lable("密码");
frameInfo.textbox("密码框");
frameInfo.textbox("复选框");
frameInfo.textbox("记住用户名");
frameInfo.linkLable("忘记密码");
}
}



打印输出结果:

package com.test;
public class Demo {

public static void main(String[] args) {
Window window = WindowImpl.getWindow();
}
}




测试结果如下:



发布于: 2020 年 07 月 02 日 阅读数: 31
用户头像

秤须苑

关注

还未添加个人签名 2020.05.12 加入

还未添加个人简介

评论

发布
暂无评论
模式与重构-作业