我们要通过一个例子把前边学习过的设计模式串一遍,以一种需求不断叠加的实际工作场景为背景。首先我们还是把我们第一个模式所举的鸭子的例子搬出来,我们要创建一个模拟器对这些鸭子的叫声进行模拟:
首先我们设计一个呱呱叫的接口:
public interface Quackable {
public void quack();
}
接着我们让一些类实现这个接口——一些鸭子有这样的功能。
public class MallardDuck implements Quackable {
public void quack() {
System.out.println("Quack");
}
}
public class RedheadDuck implements Quackable {
public void quack() {
System.out.println("Quack");
}
}
另外一些鸭子也叫唤,但是可能声音不同:
public class DuckCall implements Quackable {
public void quack() {
System.out.println("Kwak");
}
}
public class RubberDuck implements Quackable {
public void quack() {
System.out.println("Squeak");
}
}
我们此时就可以创建模拟器了:
public class DuckSimulator {
public static void main(String[] args) {
DuckSimulator simulator = new DuckSimulator();
simulator.simulate();
}
void simulate() {
Quackable mallardDuck = new MallardDuck();//面向接口编程
Quackable redheadDuck = new RedheadDuck();
Quackable duckCall = new DuckCall();
Quackable rubberDuck = new RubberDuck();
System.out.println("\nDuck Simulator");
simulate(mallardDuck);
simulate(redheadDuck);
simulate(duckCall);
simulate(rubberDuck);
}
void simulate(Quackable duck) {//注意,我们在这使用了面向接口编程
duck.quack();
}
}
分享到:
相关推荐
《Head-First设计模式》是一本面向初学者的优秀设计模式教程,主要针对Java编程语言。这本书通过易于理解的方式介绍了23种经典的GoF设计模式,帮助开发者提升代码的可复用性和可维护性。设计模式是软件工程中的重要...
《Head First设计模式》是一本深受开发者喜爱的设计模式学习书籍,以其独特的视觉呈现方式和易于理解的讲解风格,使得复杂的软件设计概念变得生动有趣。设计模式是软件开发中的一种最佳实践,是解决常见问题的经验...
《Head First 设计模式》是一本非常受欢迎的设计模式教程,专为初学者和有经验的开发者设计,通过直观易懂的方式介绍了23种经典的设计模式。这本书以独特的视觉风格和轻松的学习氛围,深入浅出地讲解了软件设计的...
《HeadFirst设计模式》是一本深受开发者喜爱的经典书籍,它以独特的方式深入浅出地讲解了设计模式这一重要编程概念。设计模式是软件工程中经过实践验证的、解决常见问题的有效解决方案,对于提升代码可读性、可维护...
《HeadFirst Design Patterns》是设计模式领域中一本非常受欢迎的入门书籍,以其独特的教学方式深受读者喜爱。设计模式是软件工程中的一种最佳实践,它总结了在特定上下文中解决常见问题的经验和方法,使得开发者...
### Head First 设计模式学习笔记知识点总结 #### 1. 欢迎来到设计模式世界:设计模式入门 - **业务场景**: - **需求背景**:开发一款模拟鸭子的游戏,游戏内包含多种不同种类的鸭子,每种鸭子具有不同的外观...
3. **设计模式的分类**:《Head First 设计模式》涵盖了多种设计模式,包括但不限于单例模式、工厂模式、适配器模式、装饰器模式、策略模式等。每种模式都有其特定的适用场景和优势,理解这些模式可以帮助开发者在...
《Head First设计模式》是一本深受程序员喜爱的设计模式入门书籍,以其独特的视觉风格和易于理解的方式解释了23种经典的设计模式。这本书的核心是通过实际的C++代码示例来帮助读者深入理解这些模式,从而提升软件...
在《Head First 设计模式学习笔记(十四)模式的组合使用》中,作者探讨了如何在实际编程中灵活地组合多种设计模式以解决复杂问题。这篇文章可能是基于《Head First 设计模式》这本书的一个章节,该书是设计模式领域...
《Head First设计模式》是一本深受开发者欢迎的设计模式学习书籍,尤其对于初学者而言,它的讲解方式生动且易于理解。设计模式是软件工程领域中的一种最佳实践,它为解决常见问题提供了一种标准的解决方案,使得代码...
《Head First设计模式》是一本深受开发者喜爱的设计模式入门书籍,中文版的出现使得更多中国读者能够轻松地理解和掌握设计模式这一重要的编程理念。书中的内容涵盖了多种经典的设计模式,旨在帮助初学者以及有一定...
这使得我们可以灵活地组合多个装饰类,以实现多种多样的行为。装饰者与被装饰的对象有相同的接口,因此客户端代码可以透明地处理装饰后的对象,无需知道它是原始对象还是装饰后的对象。 例如,假设我们有一个`...
《Head First设计模式》是一本深受开发者喜爱的设计模式学习书籍,源码的提供为读者提供了实践和深入理解设计模式的宝贵资源。这本书旨在通过直观、生动的方式介绍23种GOF(GoF,Gamma, Helm, Johnson, Vlissides)...
设计模式是软件工程中的重要概念,它是一种在特定情境下解决问题的模板,可以在多种不同的项目中重复使用,以提高代码的可读性、可维护性和复用性。本书共涵盖了23种经典的设计模式,分为创建型、结构型和行为型三大...
书中涵盖了多种经典的设计模式,如工厂模式(Factory Method)、抽象工厂模式(Abstract Factory)、单例模式(Singleton)、建造者模式(Builder)、原型模式(Prototype)、适配器模式(Adapter)、装饰器模式...
4. **多维度对比**:为了帮助读者更好地选择合适的设计模式,《Head First Design Patterns》还对多种相关模式进行了比较分析,突出了各自的特色和适用范围。 - 在讨论单例模式时,书中不仅介绍了其基本概念和...
《Head_First设计模式》这本书通过具体的例子深入浅出地介绍了多种设计模式的应用场景和实现方法。其中策略模式和观察者模式作为常用的设计模式之一,在实际项目开发中有着广泛的应用。通过理解这些模式背后的原理和...
《Head First设计模式》是软件开发领域中一本非常经典的书籍,它以易理解、生动有趣的方式介绍了23种GOF(Gamma, Helm, Johnson, Vlissides)设计模式。设计模式是解决软件设计中常见问题的经验总结,是开发者之间...
《Head First 设计模式》是一本广受欢迎的设计模式书籍,以其独特的教学方式深入浅出地讲解了23种经典设计模式。设计模式是软件工程中经过长期实践验证的解决常见问题的最佳方案,它们是经验的总结,可以帮助开发者...
根据提供的信息,“Head First设计模式”是一本广受好评的设计模式书籍。虽然具体的章节内容没有给出,但从描述中得知本书的第22页至39页涵盖了重要的设计模式概念,因此我们将围绕这些页面可能涉及的设计模式进行...