第25章 GRASP更多具有职责的对象GRASP: More Objects with Responsibilities
目标
学****使用其余的GRASP模式
多态(Polymorphism)
纯虚构(Pure Fabrication)
间接性(Indirection)
防止变异(Protected Variations)
多态(Polymorphism)
模式名:多态(Polymorphism)
问题:如何基于类型选择?如何创建可插拨的软件构件?
解决方案:当相关的或行为随类型(类)有所不同时,使用“多态操作”为变化的行为类型分配职责。
推论:不要测试对象的类型,也不要使用条件逻辑来执行基于类型的不同选择
图25-1 使用多态适配不同的外部税金计算器
NextGen问题:如何支持第三方税金计算器
图25-2 对Monopoly问题应用多态
Monopoly问题:如何设计不同的方格活动
在图25-3和图25-4中用非正式的方法表示多态情形
图25-3 应用多态性
发送消息到接口
每种类型都有不同的landon(p)实现见图25-4到25-7
图25-4 GoSquare的情形
RegularSquare的情形
图25-5 RegularSquare的情形
eTaxSquare的情形
图25-6 eTaxSquare的情形
GoToJailSquare情形
图25-7 GoToJailSquare的情形
第25章-GRASP-更多具有职责的对象 来自淘豆网www.taodocs.com转载请标明出处.