实验08 软件设计模式及应用

实验目的

(1) 理解设计模式的基本概念; (2) 理解设计模式遵循的原则;
(3) 掌握经典设计模式及应用。

实验内容

一、能播放各种声音的软件产品(理解开-闭原则(Open-Closed Principle,OCP–对扩展开放-而对修改关闭)。写java文件、编译java文件、执行class文件。
在这里插入图片描述

  • Application
public class Application {
   
	public static void main(String[] args) {
   
		Simulator simulator = new Simulator();
		simulator.setSound(new Dog());
		simulator.play();
		simulator.setSound(new Violin());
		simulator.play();
	}
}

  • Simulator
public class Simulator {
   
	Sound sound;
	public void setSound(Sound sound) {
   
		this.sound=sound;
	}
	public void play() {
   
		if(sound!=null) {
   
			sound.playSound();
		} else {
   
			System.out.println("没有可播放的声音");
		}
	}
}
  • ** Sound**
public interface Sound {
   
	public abstract void playSound();
}

  • Dog
public class Dog implements Sound {
   
	public void playSound() {
   
		System.out.println("汪汪...汪汪");
	}
}

  • violin
public class Violin implements Sound {
   
	public void playSound() {
   
		System.out.println("小提琴.梁祝");
	}
}

二、简单工厂模式–女娲造人。写java文件、编译java文件、执行class文件。
女娲架起了八卦炉(技术术语:建立工厂),开始造人。
过程如下:先捏泥巴成人形,再放入八卦炉里烤,最后扔到地上成长。时间烤短了,造出了“白种人”;时间烤长了,造出了“黑种人”;时间烤得不长不短,造出了“黄种人”。
在这里插入图片描述

  • Human
public interface Human {
   
	public void talk();
}

  • HumanFactory
public class HumanFactory {
   
	public static Human createHuman(String s) {
   
		Human human=null;
		if(s.equals(new String("whiteHuman")))
			human=new WhiteHuman();
		if(s.equals(new String("yellowHuman")))
			human=new YellowHuman();
		return human;
	}
}

  • BlackHuman
public class BlackHuman implements Human {
   

	public void talk() {
   
		System.out.println("黑人");
	}

}

  • WhiteHuman
public class WhiteHuman implements Human {
   

	public void talk() {
   
		System.out.println("Hello!");
	}

}

  • YellowHuman
public class YellowHuman implements Human {
   

	public void talk() {
   
		System.out.println("您好!");
	}

}

  • NvWa
public class NvWa {
   
	public static void main(String [] args) {
   
		Human human=HumanFactory.createHuman("yellowHuman");
		human.talk();
	}
}

三、工厂方法模式–女娲造人。写java文件、编译java文件、执行class文件。
将以上9个 .java文件压缩为:工厂方法模式--女娲造人.rar 提交作业

  • Human
public interface Human {
   
	public void talk();
}

  • HumanFactory
public interface HumanFactory {
   
	public Human createHuman
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值