`
newleague
  • 浏览: 1504956 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

设计模式-笔记(三)

阅读更多

设计原则:

多用组合,少用继承

 

以上笔记介绍的是策略模式:定义了算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。

 

----设计谜题解答----
1)一个抽象类:Character,一个接口:WeaponBehavior,剩下八个是类。
2)King,Queen,Troll,Knight继承(extend)Character;
KnifeBehavior,BowAndArrowBehavior,AxeBehavior,SwordBehavior实现
(implement)WeaponBehavior;
Character有一个(has a)WeaponBehavior。
3)setWeapon()应放在Character类中。
--------------------

 

public abstract class Car {
RunBehavior rb;
public void go() {
rb.go();
}
public void setRunBehavior(RunBehavior rb) {
this.rb = rb;
}
public abstract void display();
}

 

public class Bus extends Car {
public Bus() {
rb = new RunWithGasoline();
}
@Override
public void display() {
// 公共汽车
}
}

 

public class CarModel extends Car {
public CarModel(){
rb=new RunNoWay();
}
@Override
public void display() {

// 汽车模型
}
}
public interface RunBehavior {
public void go();
}

 

public class RunWithGasoline implements RunBehavior {
public void go() {
// 用汽油驱动
}
}
public class RunWithElectricity implements RunBehavior {
public void go() {
// 用电力驱动
}
}

 

public class RunNoWay implements RunBehavior {
public void go() {
// 不能行使
}
}

 

现在新增一种玩具电动车:
public class ToyCar extends Car {
public ToyCar(){
rb=new RunWithElectricity();
}
@Override
public void display() {
// 玩具电动车
}
}

分享到:
评论

相关推荐

    笔记记录分享-笔记记录分享网站-笔记记录分享网站源码-笔记记录分享网站java代码-基于springboot的笔记记录分享网站

    笔记记录分享-笔记记录分享网站-笔记记录分享网站源码-笔记记录分享网站java代码-笔记记录分享网站设计与实现-基于springboot的笔记记录分享网站-基于Web的笔记记录分享网站设计与实现-笔记记录分享项目-笔记记录...

    笔记记录分享-笔记记录分享网站-笔记记录分享网站源码-笔记记录分享网站java代码-基于Web的笔记记录分享网站设计与实现-代码

    笔记记录分享-笔记记录分享网站-笔记记录分享网站源码-笔记记录分享网站java代码-笔记记录分享网站设计与实现-基于springboot的笔记记录分享网站-基于Web的笔记记录分享网站设计与实现-笔记记录分享项目-笔记记录...

    笔记记录分享-笔记记录分享系统-笔记记录分享系统源码-笔记记录分享管理系统-基于springboot的笔记记录分享系统-java

    笔记记录分享系统-笔记记录分享系统源码-笔记记录分享管理系统-笔记记录分享管理系统java代码-笔记记录分享系统设计与实现-基于springboot的笔记记录分享系统-基于Web的笔记记录分享系统设计与实现-笔记记录分享网站...

    设计模式(Java 与模式-笔记 二)

    本文主要关注的是Java编程语言中的设计模式,结合“Java与模式-笔记二”的博客内容,我们将深入探讨其中的一些核心设计模式及其在实际开发中的应用。 首先,我们来谈谈单例模式(Singleton)。单例模式确保一个类...

    新版设计模式手册-笔记

    首先,设计模式分为三大类别:创建型模式、结构型模式和行为型模式。创建型模式主要关注对象的创建过程,例如单例模式(Singleton)、工厂方法模式(Factory Method)和抽象工厂模式(Abstract Factory)。单例模式...

    HeadFirst 设计模式学习笔记1--策略模式Demo

    《HeadFirst设计模式学习笔记1--策略模式Demo》 在软件工程中,设计模式是一种解决常见问题的标准方案,它提供了一种在特定情况下组织代码的模板。策略模式是设计模式中的一种行为模式,它允许在运行时选择算法或...

    尚硅谷设计模式源码笔记课件.zip

    本课程针对上述问题,有针对性的进行了升级 (1) 授课方式采用 图解+框架源码分析的方式,让课程生动有趣好理解 (2) 系统全面的讲解了设计模式,包括 设计模式七大原则、UML类图-类的六大关系、23种设计模式及其分类,...

    《设计模式学习笔记》

    《设计模式学习笔记》主要探讨了GOF的23种设计模式以及类设计的基本原则,旨在帮助开发者理解和应用这些经过时间验证的成熟解决方案。设计模式是面向对象软件设计中的核心概念,它们为解决常见的设计问题提供了标准...

    设计模式学习笔记总结

    这里我们聚焦于C#语言中的设计模式学习笔记,涵盖了多种经典的设计模式,如合成模式、桥梁模式、装饰模式、享元模式、门面模式、命令模式、工厂方法、策略模式、代理模式以及状态模式。下面将对这些模式逐一进行详细...

    设计模式学习笔记大全

    以上就是压缩包中的设计模式学习笔记涉及到的主要内容。通过对这些模式的理解和应用,开发者可以更好地解决软件设计中的问题,提升软件的质量和可维护性。每种模式都有其适用场景,理解其背后的意图和应用场景是关键...

    设计模式-读书笔记(水印)1

    设计模式是一种在特定情境下解决问题的可复用的软件设计蓝图,它们反映了软件设计中的最佳实践和经验。本文主要探讨了两种创建型设计模式:工厂方法模式和抽象工厂模式。 首先,工厂方法模式的核心思想是将对象的...

    Java设计模式学习笔记

    ### Java设计模式学习笔记 #### 1. 设计模式的七大原则 ##### 1.1 设计模式的目的 设计模式是一种解决特定问题的通用解决方案,它可以帮助开发人员编写出更高质量、更容易维护和扩展的代码。设计模式的目标在于...

    设计模式读书笔记

    首先,设计模式可以分为三大类:创建型、结构型和行为型。创建型设计模式关注的是对象的创建,如工厂方法、抽象工厂、建造者、原型和单例模式,它们分别处理不同程度的对象创建延迟和实例化过程。结构型模式则涉及...

    23个设计模式图解--学习笔记

    在《23个设计模式图解--学习笔记》中,我们探讨了这些模式,以便于理解和应用到实际开发中。以下是这23个设计模式的详细说明: 1. **工厂方法**(Factory Method):定义一个用于创建对象的接口,让子类决定实例化...

    韩顺平_Java设计模式笔记.docx

    ### 韩顺平_Java设计模式笔记知识点详解 #### 1. Java设计模式内容介绍 ##### 1.1.1 先看几个经典的面试题 - **原型设计模式问题** - **UML类图**:原型模式的核心在于定义了一个`Prototype`接口,该接口声明了...

    移动应用UI设计模式 读书笔记

    移动应用 UI 设计, 读书笔记, 记录摘取书籍中重点信息,有助于页面设计,原型设计等

    HeadFirst设计模式学习笔记

    《HeadFirst设计模式学习笔记》是一份详尽的资料,旨在帮助读者深入理解并掌握设计模式这一编程领域的核心概念。设计模式是软件工程中的一种最佳实践,它在解决常见问题时提供了一种标准的解决方案,使得代码更易于...

    设计模式学笔记

    ### 设计模式学习笔记 #### 一、设计模式概述 设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。它描述了在软件设计过程中的一些不断重复发生的问题,以及该问题的解决方案。设计...

Global site tag (gtag.js) - Google Analytics