收藏此站 联系我们 网站
当前位置:首页» 公司新闻 » 【建站服务】兴化小程序制作【兴化企业邮箱】兴化网站外包、兴化微信商城开发、兴化网店美工、兴化淘宝设计-域名申请

【建站服务】兴化小程序制作【兴化企业邮箱】兴化网站外包、兴化微信商城开发、兴化网店美工、兴化淘宝设计-域名申请

作者: 风兰 . 阅读量: 10 . 发表时间:2022-09-20 15:24:47

网站建设

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


兴化小程序制作【兴化企业邮箱】兴化网站外包、兴化微信商城开发、兴化网店美工、兴化淘宝设计

又如常见的消息推送业务流程,假设步骤为:

  • 1、判断用户是否满足推送的条件

  • 2、获取推送的内容

  • 3、通过特定渠道的进行推送

  • 4、纪录推送情况

这里假设第1步,第2步和第4步是相同的,而第3步的推送实现,根据待推送消息的重要级别,采用不同的推送方式。如对于实时性要求高或非常重要的推送采用短信通知,谁都希望当他的银行卡有钱转入或转出时能第一时间知道;对于一般性的日常提醒或者需要依赖APP进行交互的则采用App通知提醒功能;而对于修改密码或者忘记密码这样的场景,则通常使用邮件进行发送推送。这又是一个使用模板方法的好地方。不同的推送方式,甚至细化到每种业务推送类型都可以进行定制,同时又保留公共基础流程的复用。

此消息推送的抽象基类,根据上面定义的步骤,可能的实现代码是:

/**
 * 消息推送 - 模板方法
 */abstract class Domain_Notification {

    public function push($context) {
        if (!$this->isNeedToPush($context)) {
            return FALSE;
        }

        $data = $this->getPushData($context);
        $this->deliverMessage($context, $data);
        $this->takeRecord($context);

        return TRUE;
    }

    protected function isNeedToPush($context) {  }

    protected function getPushData($context) {  }

    abstract protected function deliverMessage($context, $data);

    protected function takeRecord($context) {  }}复制代码

其中$context参数表示上下文信息,这里通过参数对象来封装了全部所需要的参数,避免过长的参数列表。除了唯一的抽象方法Domain_Notification::deliverMessage($context, $data)外,其他三个都是已经实现的方法,只是这里省略了实现的细节。当定义好高层的概念,并且约定好的接口规范后,下一步就是具体的实现了。

例如,对于需要发送短信进行的通知,可以新增一个子类并完成重要通知的发放。

class Domain_Notification_Emergency extends Domain_Notification {

    protected function deliverMessage($context, $data) {
        // TODO: 根据上下文$context,将通知数据$data通过短信发送给用户
    }}复制代码

而对于需要使用邮箱进行发送的通知,可以再增加一个子类,同样实现具体的推送动作。

class Domain_Notification_Normal extends Domain_Notification {

    protected function deliverMessage($context, $data) {
        // TODO: 根据上下文$context,将通知数据$data通过邮件发送给用户
    }}复制代码

在这里,实现细节暂时不用关注。重点需要学习的是,当遇到复杂的领域业务时,如何利用模板方法模式进行设计,解决所面临的问题,以及更好地引导开发人员一致规范地实现需求,同时满足后续迭代扩展的需求。就上面的消息推送示例而言,如果后面需要增加一种新的推送渠道,也是可以知道在哪个位置如何具体实现的,即是可预见性的实现,而非随意的主观而为。这也是符合开放-封闭原则的。

c51c866ffa1ab3457f2021e8bbdbcc1.jpg

兴化小程序制作兴化企业邮箱兴化网站外包、兴化微信商城开发、兴化网店美工、兴化淘宝设计


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

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


关键词:网站建设,企业网站,网站制作,网页设计,高端网站建设,企业网站制作,网页制作,制作网站,网站设计,高端网页设计,高端网站设计,做网站,自适应网站

全国服务热线
18114747181
二维码
手机端二维码
上往建站
地址:全国各地都有驻点商务 |  网站建设上往建站
在线咨询QQ:1120768800
 
QQ在线咨询
售前咨询热线
18114747181
营销顾问
营销顾问
售后服务热线
400-000-1116
售后服务
售后服务