设计模式
香菜xc
这个作者很懒,什么都没留下…
展开
-
外观模式 ------模拟电脑主机调用其他硬件和软件
在电脑主机(MainFrame)中只需要按下主机的开机按钮(on()),即可调用其它硬件设备和软件的启动方法,如内存(Memory)的自检(check())、CPU的运行(run())、硬盘(HardDisk)的读取(read())、操作系统(OS)的载入(load())等,如果某一过程发生错误则电脑启动失败。使用外观模式模拟该过程,绘制类图并使用Java语言模拟实现。Client.javapackage Facade;public class Client { public sta..原创 2021-07-23 10:47:18 · 2187 阅读 · 0 评论 -
在HuntBird游戏中,需要模拟不同鸟的多种行为,鸟类中提供了对其各种行为信息进行显示的show()方法,目前游戏需要呈现的是鸽子和企鹅的飞和游泳行为,现使用桥接模式设计该游戏
Bird.javapackage HuntBird;public abstract class Bird { protected swim s; protected fly f; //注入实现类接口对象 public void setSwim(swim s) { this.s=s; } public void setFly(fly f) { this.f=f; } public abstract void show();}canFly.javap...原创 2021-07-23 10:41:23 · 1300 阅读 · 0 评论 -
现有一个接口DataOperation定义了排序方法sort(int[])和查找方法search(int[],int),已知类QuickSort的quickSort(int[])方法实现了快速排序算法
Adapter.javapackage Adapter;public class Adapter implements DataOperation{ private QuickSort quickSort; //定义适配者QuickSort对象 private BinarySearch binarySearch; //定义适配者BinarySearch对象 public Adapter(){ quickSort=new QuickSort(); binarySearch=ne...原创 2021-07-23 10:34:52 · 3164 阅读 · 0 评论 -
工厂方法模式
使用工厂方法模式设计能够实现包含加法(+)、减法(-)、乘法(*)、除法(/)四种运算的计算机程序,要求输入两个数和运算符,得到结果。要求使用相关的工具绘制UML类图并严格按照类图的设计编写程序实现。add.javapackage dpj02;public class add implements Operation{//加法 @Override public float getResult(float num1,float num2) { return num1+num2; }}原创 2020-12-10 15:26:09 · 249 阅读 · 0 评论 -
简单工厂模式
使用简单工厂模式设计能够实现包含加法(+)、减法(-)、乘法(*)、除法(/)四种运算的计算机程序,要求输入两个数和运算符,得到结果。要求使用相关的工具绘制UML类图并严格按照类图的设计编写程序实现。Operation.javapackage dpj01;public interface Operation { double getResult(double num1,double num2);}OperationFactory.javapackage dpj01;public c原创 2020-12-10 15:21:51 · 214 阅读 · 0 评论