山月记

苟有恒何必三更眠五更起 最无益莫过一日曝十日寒

策略模式

定义

首先给出《Head First设计模式》中的定义:策略模式定义了算法族,分别封装起来,让他们之间可以相互替代,此模式让算法的变化独立于使用算法的客户。

这个定义还是很到位的,总的来说策略模式会让代码复用率很高,并且让代码更加规整简洁。

像我实例代码中使用了游戏中常用的一个场景,我定义了一个抽象类Person,其具有自己描述和攻击两种方法;我也定义了一个攻击方式接口,每一种具体的攻击方式都实现了该接口。并且在Person类中我提供了设置 攻击具体实现对象的方法,不同的Person子类,根据自己不同的需求设置不同攻击实现类,这样让 攻击实现类 的复用率很高,并且代码结构合理易读。
代码示例中我实现了两种角色,两个攻击方式,如果后期扩展新角色,但其攻击方式便,便可直接复用我的 攻击实现,这样会让后期代码维护变得简介。

该模式中使用接口在方法中做参数,用于接收任何其实现的类,这种方式很值得借鉴,并且工作中会经常使用这种设计方式。

这是我实例代码连接:
https://github.com/yangzhenkun/DesignPatternLearn/tree/master/src/main/java/com/yasin/DesignPatternLearn/StrategyPattern

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013592964/article/details/76551980
文章标签: 设计模式
个人分类: 编程思想
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭