当前位置:网站首页>如何解决if语句太多
如何解决if语句太多
2022-07-23 05:46:00 【liangdu_Zuker】
如何解决if语句太多
【用策略模式】定一个策略基类,然后针对每个if实现一个策略子类,然后利用传入进来的参数,去匹配采用的策略,有点类似分治思想。
【用哨兵伪节点】我们一般习惯用if去判断边界问题,对于非边界的问题不需要用if,那么我只需要给当前边界问题加上前继和后继的哨兵伪节点,就可以做到不需要用if语句了。
【用驱动表模式】,创建一个actionmap,key就是我们的条件case, value就是针对这个case所对应的处理函数handle. 这样也可以避免写很多if 。
【使用责任链模式】, 即,将多个if,分成n组if,每一个if组封装成一个责任链节点,然后把参数传递给责任链,责任链的节点传递执行判断。多了责任链的这层封装,就不会有一堆难以读懂的if语句堆叠了。
边栏推荐
猜你喜欢

Unity3d+GameFramework:资源分析,资源依赖,循环依赖检测

【无标题】

OSPF综合实验

Unity3D高清渲染管线无法在模型上播放视频

Blog building five: drawing bed selection

Basic OJ exercise of binary tree-

Common sort -- merge sort (recursive and non recursive) + count sort

Navicat for MySQL 安装教程

Three versions and optimization of quick sorting by interval -- friends may not know it

Common sorting method - Select Sorting
随机推荐
Vscode configuration
详解TCP连接的建立
Related repo of synthetic Chinese recognition dataset
Three versions and optimization of quick sorting by interval -- friends may not know it
Using one-way linked list to realize queue
HCIP --- HDLC和PPP协议
基于UDP的群聊聊天室
Problems encountered in configuring the historical version of detectron
C语言数据库:详细的说明用学生管理系统了解数据库的操作,简单易懂。
桌面远程协议-编解码
[AUTOSAR DCM 1. module introduction (DSL, DSD, DSP)]
Unity在URP管线下使用TriLib插件加载模型材质不正确的问题
OSPF routing strategy and Traffic Capture
WebSocket 协议讲解
刷题笔记:二叉树剪枝(递归,迭代)
Hcip --- BGP --- border gateway protocol
SCI审稿过程中的几种状态
TeX or LaTeX or MikTeX or TeX Live or CTeX
Unity3d: ugui source, Rebuild Optimization
OSPF和RIP的路由扩展配置