热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

设计模式(一)——策略模式

简述:策略模式的适用的目标是多子类和单一父类的情形。父类中放的是很多子类共用的代码段,对于不同子类特殊的代码段交给子类进行编写。但如果两个或两个以上的子类需要共同的代码段时,不能将

简述:

  策略模式的适用的目标是多子类和单一父类的情形。父类中放的是很多子类共用的代码段,对于不同子类特殊的代码段交给子类进行编写。但如果两个或两个以上的子类需要共同的代码段时,不能将这个代码段放入父类,因为这个代码段和其他的子类无关。正确做法是将少数子类共用的代码段做一个接口,写一个类去实现这个接口,在这个类中放入少数类共用的代码段。然后在父类的参数中加入这个接口对象,这样需要用到共用代码段的子类就可以通过这个接口对象来进行处理。

举例:

下面是很多杂乱的类和接口:

技术分享我们用策略模式将使用武器的方法进行抽取,变为一个接口,用很多武器实现这个接口。最后我们只需要针对接口编程就行了。

技术分享

设计模式(一)—— 策略模式


推荐阅读
  • 图11、基本概念
    用邻接矩阵表示图:用 ... [详细]
  • Graylog是与ELK可以相提并论的一款集中式日志管理方案,支持数据收集、检索、可视化Dashboard。本节将实践用Graylog来管理Docker日志。Graylog架构Gr ... [详细]
  • 前期部署1.JDK安装,配置PATH2.下载spark-1.6.1-bin-hadoop2.6.tgz,并上传到服务器解压3.在 usr 下创建软链接到目标文件夹4.修改配置文件, ... [详细]
  • mac用于开发使用时间长硬盘会越来越小,速度越来越慢的,亦是花了几分钟研究怎么清理系统的缓存,方法:1,到https:www.omnigroup.commore安装OmniDisk ... [详细]
  • HDU 3487 Play with Chain
    题意:对序列取出连续的一段接到剩下的第k个值后面,或者把一段序列反转。解题思路:splay区间操作。解题代码:1FileName:hdu3487.cpp2Author:darkdr ... [详细]
  • 简介if循环ifconditonthencommandselsecommandfielse这部分没有可以省略或者ifconditionthencommandselseifcondi ... [详细]
  • 标准ACL配置
    标准ACL的表号是1~99中的一个数字permit|d ... [详细]
  • 问题描述为某音像店开发一个迷你DVD管理器,最多可存6张DVD,实现碟片的管理。管理器具备的功能主要有:1、查看DVD信息。菜单选择查看功能,展示DVD的信息。2、新增DVD信息选 ... [详细]
  • 1.简述OC中内存管理机制。与retain配对使用的方法是dealloc还是release,为什么?需要与alloc配对使用的方法是dealloc还是release,为什么?rea ... [详细]
  • jenkins 邮件配置步骤
    一、进行系统管理中的邮件配置步骤:1、设置ExtendedE-mailNotification二、对构建的job添加邮件发送的步骤: ... [详细]
  • http:nickycc.lofter.compost23e2a6_17d6a07http:blog.csdn.netl25000articledetails46842013htt ... [详细]
  • Spring WebFlux开门迎客,却来了一位特殊客人
    话说SpringWebFlux已经出现有一段时间了,但是知道他的人并不是很多。这让他很是闷闷不乐。还有更惨的是,那些敢于吃螃蟹的人在尝试了他之后,有的竟把代码重新改回到Spring ... [详细]
  • 一个正整数K,给出KMod一些质数的结果,求符合条件的最小的K。例如,K%21,K%32,K%53。符合条件的最小的K23。收起一个正整数K,给出KMod一些质数的结果,求符合条件 ... [详细]
  • 201720181 20155208 《信息安全系统设计基础》第五周学习总结
    2017-2018-120155208《信息安全系统设计基础》第五周学习总结学习目标理解逆向的概念掌握X86汇编基础,能够阅读(反)汇编代码了解ISA(指令集体系结构)理解函数调用 ... [详细]
  • Unity中的事件监听
    Unity3D的uGUI系统的将UI可能触发的事件分为12个类型,即EventTriggerType枚举的12个值。如下图所示:先以PointerClick为例。这个是用于某点点击 ... [详细]
author-avatar
一根吃兔子的萝卜
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有