设计模式之责任链与模板方法模式解析
责任链模式概述
在角色扮演游戏(RPG)中,为角色实现不同的保护机制时,责任链模式是一个很好的选择。每种保护机制只能处理一种特定类型的攻击,一系列的攻击处理程序可以确定角色能抵御哪些攻击。在游戏过程中的任何时候,都可以添加或移除任何攻击处理程序,而不会影响角色的其他行为。如果不使用责任链模式,复杂的攻击处理程序组合会使角色类变得臃肿,并且难以更改处理程序。
模板方法模式基础
模板方法模式是面向对象软件设计中最简单的设计模式之一。其基本思想是在抽象类的一个方法中定义一个“标准”算法,该方法会调用其他应该由子类重写的基本操作。这个方法被称为“模板”,因为它定义的算法中缺少一些独特的操作。
以下几种情况适合使用模板方法模式:
- 需要一次性实现算法的不变部分,并让子类实现可能变化的特定行为。
- 子类的公共行为应该提取到一个公共类中,以避免代码重复。将现有代码中的差异分离到新的操作中,然后用一个模板方法调用这些新操作。
- 需要对进行可控的子类扩展,可以定义一个模板方法,在特定点调用“钩子”操作,子类可以通过实现钩子来扩展功能。
模板方法会调用的操作类型有:
- 具体类或客户端类上的具体操作
- 抽象类上的具体操作
- 抽象操作
- 工厂方法
- 钩子操作(可选的抽象操作)
用模板方法模式制作三明治
制作一个简单的非素食三明治,通常需要以下食材:
- 面包
- 肉
- 调味品
基本制作步骤如下:
1. 准备面包。
2
超级会员免费看
订阅专栏 解锁全文
1803

被折叠的 条评论
为什么被折叠?



