无法在这个位置找到: head2.htm
当前位置: 建站首页 > 新闻动态 > 公司新闻 >

路由器自动跳转的思索

时间:2021-01-31 05:18来源:未知 作者:jianzhan 点击:
一切摆脱业务流程要求的构造设计方案全是耍无赖(我认为大家这小打小闹彻底算不上构架这一词)那么我们先整理一下大家如今的业务流程情景现阶段大家有一个主要难题是自动跳转

一切摆脱业务流程要求的构造设计方案全是耍无赖(我认为大家这小打小闹彻底算不上构架这一词)

那么我们先整理一下大家如今的业务流程情景

现阶段大家有一个主要难题是自动跳转

书架banner是个经营部位,必须灵便可配的 各种各样自动跳转 启动弹窗也是个经营部位,仍然必须 各种各样自动跳转 push,更不要说了, 各种各样自动跳转 H5书社,经营主题活动H5落地式页,根据Bridge还必须 各种各样自动跳转

大家如今是如何做的呢?拿书架banner举例说明

网络服务器会下达一个type号,(随意假定)1意味着开启webview,2意味着开启书籍,3意味着开启本人管理中心 这些,有关主要参数会伴随着type的不一样,下达不一样字段名,因而编码会生那样

switch (type) { case 1: { //jumping code //NSString *url = /*分析相匹配url字段名*/ //NSString *title = /*分析相匹配title字段名*/ //NSString *ydwebview = [[ydwebview alloc]init]; ydwebview.url = url; ydwebview.navititle = title; [self.navigationController pushViewController:ydwebview animated:YES]; } break; case 2: { //balabalaba } break;

能看下大家的switch有多可怕

书架banner自动跳转有6个switch,在其中第一个switch有4種子switch 启动弹出窗口有两个switch,适用工作能力弱 push,这可不得了有20个switch H5bridge自动跳转,有10+个switch

那么我们每一次增加加一个作用控制模块的情况下改如何办呢?

假定大作一个控制模块叫 英式没品段子百度百科 (我很喜欢看的一个新浪微博号╮(╯_╰)╭)

大家就必须在书架,弹窗,push,H5Bridge,四周关键自动跳转点统统增加编码,需先import EnglishJoke.h  ,随后也要增加一个switch,增加一坨自动跳转viewcontroller的编码

有木有觉得?what the fuck!

大家的编码就行好像那样,一团乱麻。

倘若A控制模块是书架,它自身带有书架banner的自动跳转编码,因此他必须藕合各种各样自动跳转总体目标。例如自动跳转到B控制模块书社,产生了 A== B

倘若B控制模块是书社,它自身带有书社H5Brdige的自动跳转编码,因此他也必须藕合各种各样自动跳转总体目标,例如自动跳转到A控制模块书架,产生了 B== A

倘若全部控制模块都是有这类蛋疼的自动跳转别的控制模块的要求,她们中间互相跳来跳去(没有错,有时候候要求便是那么的不讲大道理),那麼大家的编码构造便会如图所示一样,伴随着业务流程构造的慢慢巨大,便会变为一张繁杂的搜索引擎蜘蛛网,无法维护保养。

细心思索一下,大家的业务流程要求的最立即困扰所属便是 各种各样自动跳转 ,但往深层次考虑到一下,这儿面实际上是藕合的难题,这儿说的并不是业务流程 逻辑性藕合 ,只是 引入藕合 。

逻辑性藕合,做为程序猿,做为朝向目标开发设计的基本构思,一个业务流程逻辑性控制模块,保证控制模块化,不把自身本身的业务流程逻辑性与外界无关紧要的控制模块开展掺杂,全部都以插口的方式出示给外界启用,它是一个最基本的设计方案核心理念,它是沒有难题,也是务必要保证的 引入藕合,被抽象性成一个控制模块,外界要应用的情况下必然要import这一控制模块的头文档,再依据头文档的api,开展启用,这没法厚非,可是假如产生这类解决必须统一自动跳转好几个不一样控制模块的逻辑性的情况下,引入藕合便会看起来错乱不太好管理方法

可是应对这类当引入藕合一团乱麻的状况下,在业务流程慢慢发展壮大,大家应对着一张繁杂的好似蛛网一一样的引入关联的情况下,大家又该怎样好去处理?

实际上有二种计划方案,都会被广泛应用

urlroute (责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
无法在这个位置找到: ajaxfeedback.htm
栏目列表
推荐内容


扫描二维码分享到微信