您身边的网站建设专家
成功案例

【建站服务】新沂400电话办理【新沂网站公司】新沂百度优化、新沂域名注册、新沂网店美工、新沂微信公众号托管-域名申请

日期: 2022-09-20 15:25:01 浏览数:5


上往建站提供服务器空间服务商百度快照排名网站托管百度推广运营,致力于设计外包服务与源代码定制开发360推广搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。


新沂400电话办理【新沂网站公司】新沂百度优化、新沂域名注册、新沂网店美工、新沂微信公众号托管


新沂,简称“新”,古称钟吾,地处华北平原南端,江苏省北部,苏、鲁两省交界处,徐州市下辖。北接山东郯城,南隔沂河、骆马湖与宿迁市相望,西和邳州市相邻,东与东海、沭阳毗连,是江苏的正“北大门”,1952年以境内新开辟的新沂河得名,1990年2月撤县建市。 [1] 

1万年前石器时代,新沂已有人类活动的踪迹。5000多年前,著名的花厅古文化就在这块美丽富饶的土地上发祥,这里是北方大汶口文化和南方良渚文化交流融汇的重要区域。乾隆皇帝六下江南,多次下榻于此,留下了“第一江山”的赞誉。 [1] 

新沂正抓住国家“一带一路”战略、沿东陇海线经济带建设、全面振兴徐州老工业基地、江苏沿海大开发和省委省政府支持苏北新一轮发展等重大战略,成为新亚欧大陆桥的交通枢纽城市、沿东陇海线经济带中心节点城市,新兴的工业和商贸旅游城市。 [1] 

2015年3月,国家发改委下发《国家发展改革委办公厅关于开展中小城市综合改革试点工作的通知》,新沂成为国家中小城市综合改革试点地区。2019年3月,被列为第一批革命文物保护利用片区分县名单。 [2]  2019年,新沂位居全国综合实力百强县市第58位、经济竞争力百强第63位、全国投资潜力百强县市第69位、全国绿色发展百强县市第48位、全国科技创新百强县市第71位、全国新型城镇化质量百强县市第53位、全国营商环境百强县第69位。 [3-5]  2020年10月,被评为全国双拥模范城(县)。

<?phpclass Domain_FAQ {

    public function retrieveOrderQuestions($scene, $userType, $orderStatus) {
        $questionTag = NULL;

        // 根据不同的判断,分配合适的问题标签
        if ($scene == 'index' && $userType == 'A' && $orderStatus == ORDER_NOT_PAY) {
            $questionTag = 'tag_x';
        }
        if ($scene == 'index' && $userType == 'B' && $orderStatus == ORDER_NOT_PAY) {
            $questionTag = 'tag_y';
        }
        if ($scene == 'list' && ($userType == 'A' || $userType == 'B') && $orderStatus == ORDER_PAID) {
            $questionTag = 'tag_z';
        }
        if ($scene == 'list' && $userType == 'VIP' && $orderStatus == ORDER_PAID) {
            $questionTag = 'tag_m';
        }

        // ... ...

        if ($scene == 'detail' && $orderStatus == ORDER_ARRIVED) {
            $questionTag = 'tag_n';
        }

        // 根据问题标签获取相应的问题信息
        $questions = $this->getQuestionsBy($questionTag);

        return $questions;
    }}复制代码

上面是经过抽离的代码,即抛开了与我们要讲述的问题无关的代码,并且已适当进行整理。虽然如此,但它本身所表示的业务规则并没有清明地表达出来。此外,过多的判断条件,会导致测试在进行语句覆盖特别是状态覆盖时成本更大,也难以保证映射关系的正确性和完整性。最后,对于像最后在详情页并订单状态为已签收的情况,并没有判断人群类型,当别人在走查代码时不好将其定位为业务需要还是开发遗漏。

既然这里存在着一种映射关系,那么我们可以通过配置一份对照表来进行维护,以最简单的方式突显其业务规则。

<?phpclass Domain_FAQ {

    public function retrieveOrderQuestions($scene, $userType, $orderStatus) {
        $questionTag = NULL;

        $maps = array(
            //   (页面场景,   用户类型, 订单状态)     -->   问题标签
            array(array('index',    'A',      ORDER_NOT_PAY),     'tag_x'),
            array(array('index',    'B',      ORDER_NOT_PAY),     'tag_y'),
            array(array('list',     'A',      ORDER_PAID),        'tag_z'),
            array(array('list',     'B',      ORDER_PAID),        'tag_z'),
            array(array('list',     'VIP',    ORDER_PAID),        'tag_m'),
            // ... ...
            array(array('detail',   'A',      ORDER_ARRIVED),     'tag_n'),
            array(array('detail',   'B',      ORDER_ARRIVED),     'tag_n'),
            array(array('detail',   'VIP',    ORDER_ARRIVED),     'tag_n'),
        );

        foreach ($maps as $item) {
            list($conditions, $tag) = $item;

            if ($scene == $conditions[0] && $userType == $conditions[1] && $orderStatus == $conditions[2]) {
                $questionTag = $tag;
                break;
            }
        }

        // 根据问题标签获取相应的问题信息
        $questions = $this->getQuestionsBy($questionTag);

        return $questions;
    }}复制代码

这一版的代码更加清晰,通过配置,我们指定了根据页面场景,用户类型和订单状态到问题标签之间的映射关系。相信很少人会对这种配置式的开发存在误解或者误用。除非不小心拼错单词或者看错需求说明,但这种低级的错误通常不会在有经验的开发人员身上出现。

可以说,重构到此就可以告一段落了。但对于具有工匠精神,追求更优雅代码的开发工程师来说,上面的代码还存在重构优化的空间。有两个问题,可进一步迭代完善,一个是:对于原来最后只需要一行判断的场景,换成配置后需要三行配置,当自变量维度较多时重复的配置就会越多;另一个是,对于其他类似的业务场景,需要重复实现,从而容易产生重复的代码。

让我们再来回头分析一下,上面这种场景的本质是什么。它更像是一棵决策树,根据配置的映射关系可以构建一棵多叉树。即以某个维度为根节点,以当前维度的可能值作为路径,连接到下一个节点维度,并继续以下个节点的可能值作为路径,依次连接下一个节点,赶到穷举为止。最终连接的节点是对应的因变量,它的值就是最终映射的值。把上面的配置表,转换成对应的多叉树,如下所示。

图4-6 根据配置构建的决策多叉树

注意,上图中,灰色的叶节点表示不存在此路径,为图简化,最终其他无效的叶节点未在图示中画出。并且,最终有效的叶节点中为对应的问题标签值,但全都省略了前缀“tag_”,即最左边的叶节点的值为“x”,实际上完整的标签值为“tag_x”。

这时,对于重复出现和问题,可以考虑采用设计模式来解决。我们可以先设计一个专门处理这样根据自变量寻找因变量的类,并约定使用星号表示通配自变量,例如若对任何用户类型都有效,则可将用户类型配置为“*”。下面是封装了这一实现的新的辅助类——决策类。

c51c866ffa1ab3457f2021e8bbdbcc1.jpg

新沂400电话办理【新沂网站公司】新沂百度优化、新沂域名注册、新沂网店美工、新沂微信公众号托管


上往建站提供搭建网站域名注册官网备案服务网店详情页设计企业网店专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管网页美工排版,致力于域名申请竞价托管软文推广全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机网站推广百度竞价托管网站建设上网建站推广服务网络公司有哪些等业务,专业团队服务,效果好。

服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)


全国咨询热线:400-111-6878

地址:全国各地都有驻点商务

Copyright © 2021 通陆科技

网站建设上往建站