当前位置: 首页 > news >正文

asia域名发布网站做网站优化如何写方案

asia域名发布网站,做网站优化如何写方案,教你做面食的网站,网站的组织与风格设计文章目录 1 概念1.1 角色1.2 类图 2. 代码示例2.1 设计2.2 代码2.3 类图 1 概念 责任链#xff08;Chain of Responsibility#xff09;是指将客户端请求处理的不同职责对象组成请求处理链。 客户端只需要将请求交付到该链上#xff0c;而不需要关心链上含有哪些对象。请求… 文章目录 1 概念1.1 角色1.2 类图 2. 代码示例2.1 设计2.2 代码2.3 类图 1 概念 责任链Chain of Responsibility是指将客户端请求处理的不同职责对象组成请求处理链。 客户端只需要将请求交付到该链上而不需要关心链上含有哪些对象。请求处理链上的对象收到请求后执行自身业务职责并将该请求传递到下一个链节点。由于客户端不需要了解责任链上节点对象的具体类型大大降低了客户端与请求处理对象之间的耦合度。 1.1 角色 抽象处理者Handler包含抽象处理方法和一个后续处理者。 具体处理者ConcreteHandler实现抽象处理者的处理方法。 请求发送者Client向处理者发送请求。 1.2 类图 #mermaid-svg-2ykADgtH0sAQ5jQ5 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-2ykADgtH0sAQ5jQ5 .error-icon{fill:#552222;}#mermaid-svg-2ykADgtH0sAQ5jQ5 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-2ykADgtH0sAQ5jQ5 .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-2ykADgtH0sAQ5jQ5 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-2ykADgtH0sAQ5jQ5 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-2ykADgtH0sAQ5jQ5 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-2ykADgtH0sAQ5jQ5 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-2ykADgtH0sAQ5jQ5 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-2ykADgtH0sAQ5jQ5 .marker.cross{stroke:#333333;}#mermaid-svg-2ykADgtH0sAQ5jQ5 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-2ykADgtH0sAQ5jQ5 g.classGroup text{fill:#9370DB;fill:#131300;stroke:none;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:10px;}#mermaid-svg-2ykADgtH0sAQ5jQ5 g.classGroup text .title{font-weight:bolder;}#mermaid-svg-2ykADgtH0sAQ5jQ5 .nodeLabel,#mermaid-svg-2ykADgtH0sAQ5jQ5 .edgeLabel{color:#131300;}#mermaid-svg-2ykADgtH0sAQ5jQ5 .edgeLabel .label rect{fill:#ECECFF;}#mermaid-svg-2ykADgtH0sAQ5jQ5 .label text{fill:#131300;}#mermaid-svg-2ykADgtH0sAQ5jQ5 .edgeLabel .label span{background:#ECECFF;}#mermaid-svg-2ykADgtH0sAQ5jQ5 .classTitle{font-weight:bolder;}#mermaid-svg-2ykADgtH0sAQ5jQ5 .node rect,#mermaid-svg-2ykADgtH0sAQ5jQ5 .node circle,#mermaid-svg-2ykADgtH0sAQ5jQ5 .node ellipse,#mermaid-svg-2ykADgtH0sAQ5jQ5 .node polygon,#mermaid-svg-2ykADgtH0sAQ5jQ5 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-2ykADgtH0sAQ5jQ5 .divider{stroke:#9370DB;stroke:1;}#mermaid-svg-2ykADgtH0sAQ5jQ5 g.clickable{cursor:pointer;}#mermaid-svg-2ykADgtH0sAQ5jQ5 g.classGroup rect{fill:#ECECFF;stroke:#9370DB;}#mermaid-svg-2ykADgtH0sAQ5jQ5 g.classGroup line{stroke:#9370DB;stroke-width:1;}#mermaid-svg-2ykADgtH0sAQ5jQ5 .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5;}#mermaid-svg-2ykADgtH0sAQ5jQ5 .classLabel .label{fill:#9370DB;font-size:10px;}#mermaid-svg-2ykADgtH0sAQ5jQ5 .relation{stroke:#333333;stroke-width:1;fill:none;}#mermaid-svg-2ykADgtH0sAQ5jQ5 .dashed-line{stroke-dasharray:3;}#mermaid-svg-2ykADgtH0sAQ5jQ5 #compositionStart,#mermaid-svg-2ykADgtH0sAQ5jQ5 .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-2ykADgtH0sAQ5jQ5 #compositionEnd,#mermaid-svg-2ykADgtH0sAQ5jQ5 .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-2ykADgtH0sAQ5jQ5 #dependencyStart,#mermaid-svg-2ykADgtH0sAQ5jQ5 .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-2ykADgtH0sAQ5jQ5 #dependencyStart,#mermaid-svg-2ykADgtH0sAQ5jQ5 .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-2ykADgtH0sAQ5jQ5 #extensionStart,#mermaid-svg-2ykADgtH0sAQ5jQ5 .extension{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-2ykADgtH0sAQ5jQ5 #extensionEnd,#mermaid-svg-2ykADgtH0sAQ5jQ5 .extension{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-2ykADgtH0sAQ5jQ5 #aggregationStart,#mermaid-svg-2ykADgtH0sAQ5jQ5 .aggregation{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-2ykADgtH0sAQ5jQ5 #aggregationEnd,#mermaid-svg-2ykADgtH0sAQ5jQ5 .aggregation{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-2ykADgtH0sAQ5jQ5 .edgeTerminals{font-size:11px;}#mermaid-svg-2ykADgtH0sAQ5jQ5 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} Client Handler #successor:Handler handleRequest(request:Request) ConcreteHandlerA handleRequest(request:Request) ConcreteHandlerB handleRequest(request:Request) 2. 代码示例 2.1 设计 定义一个抽象处理者Handler定义实际处理者ConcreteHandlerA、ConcreteHandlerB 它们实现了抽象处理者Handler它继承了另一个处理者下一个处理者它的Option()方法执行它的责任它的handleRequest()方法组装责任链并执行它的责任 调用 实例化三个实际处理者使用handleRequest()方法执行责任链 2.2 代码 package mainimport (fmt )// 定义抽象处理者 type Handler interface {handleRequest() string }// 定义实际处理者A type ConcreteHandlerA struct {name stringnext Handler } //定义一个方法模拟实际处理者A的处理过程 func (c *ConcreteHandlerA) Option() {fmt.Println(执行 c.name) } //定义一个方法完成它的处理后交给下一个实际处理者 func (c *ConcreteHandlerA) handleRequest() string {c.Option()if c.next ! nil {return c.next.handleRequest()}return }// 定义实际处理者B情况和A相同 type ConcreteHandlerB struct {name stringnext Handler }func (c *ConcreteHandlerB) Option() {fmt.Println(执行 c.name) }func (c *ConcreteHandlerB) handleRequest() string {c.Option()if c.next ! nil {return c.next.handleRequest()}return }//定义一个函数生产处理者 func NewHandler(name string, next Handler, kind string) (handler Handler, err error) {switch kind {case A:handler ConcreteHandlerA{name: name,next: next,}return handler, nilcase B:handler ConcreteHandlerB{name: name,next: next,}return handler, nildefault:return nil, err}}func main() {//实例化3个实际处理者handlerA1, _ : NewHandler(handlerA1, nil, A)handlerA2, _ : NewHandler(handlerA2, handlerA1, A)handlerB1, _ : NewHandler(handlerB1, handlerA2, B)//使用handleRequest方法依次处理处理过程我们不可见但是可以通断点过调试看到r : handlerB1.handleRequest()fmt.Println(r) } 执行结果 执行handlerB1 执行handlerA2 执行handlerA12.3 类图 #mermaid-svg-58ZQMFgWOLIO6lOi {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-58ZQMFgWOLIO6lOi .error-icon{fill:#552222;}#mermaid-svg-58ZQMFgWOLIO6lOi .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-58ZQMFgWOLIO6lOi .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-58ZQMFgWOLIO6lOi .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-58ZQMFgWOLIO6lOi .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-58ZQMFgWOLIO6lOi .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-58ZQMFgWOLIO6lOi .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-58ZQMFgWOLIO6lOi .marker{fill:#333333;stroke:#333333;}#mermaid-svg-58ZQMFgWOLIO6lOi .marker.cross{stroke:#333333;}#mermaid-svg-58ZQMFgWOLIO6lOi svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-58ZQMFgWOLIO6lOi g.classGroup text{fill:#9370DB;fill:#131300;stroke:none;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:10px;}#mermaid-svg-58ZQMFgWOLIO6lOi g.classGroup text .title{font-weight:bolder;}#mermaid-svg-58ZQMFgWOLIO6lOi .nodeLabel,#mermaid-svg-58ZQMFgWOLIO6lOi .edgeLabel{color:#131300;}#mermaid-svg-58ZQMFgWOLIO6lOi .edgeLabel .label rect{fill:#ECECFF;}#mermaid-svg-58ZQMFgWOLIO6lOi .label text{fill:#131300;}#mermaid-svg-58ZQMFgWOLIO6lOi .edgeLabel .label span{background:#ECECFF;}#mermaid-svg-58ZQMFgWOLIO6lOi .classTitle{font-weight:bolder;}#mermaid-svg-58ZQMFgWOLIO6lOi .node rect,#mermaid-svg-58ZQMFgWOLIO6lOi .node circle,#mermaid-svg-58ZQMFgWOLIO6lOi .node ellipse,#mermaid-svg-58ZQMFgWOLIO6lOi .node polygon,#mermaid-svg-58ZQMFgWOLIO6lOi .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-58ZQMFgWOLIO6lOi .divider{stroke:#9370DB;stroke:1;}#mermaid-svg-58ZQMFgWOLIO6lOi g.clickable{cursor:pointer;}#mermaid-svg-58ZQMFgWOLIO6lOi g.classGroup rect{fill:#ECECFF;stroke:#9370DB;}#mermaid-svg-58ZQMFgWOLIO6lOi g.classGroup line{stroke:#9370DB;stroke-width:1;}#mermaid-svg-58ZQMFgWOLIO6lOi .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5;}#mermaid-svg-58ZQMFgWOLIO6lOi .classLabel .label{fill:#9370DB;font-size:10px;}#mermaid-svg-58ZQMFgWOLIO6lOi .relation{stroke:#333333;stroke-width:1;fill:none;}#mermaid-svg-58ZQMFgWOLIO6lOi .dashed-line{stroke-dasharray:3;}#mermaid-svg-58ZQMFgWOLIO6lOi #compositionStart,#mermaid-svg-58ZQMFgWOLIO6lOi .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-58ZQMFgWOLIO6lOi #compositionEnd,#mermaid-svg-58ZQMFgWOLIO6lOi .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-58ZQMFgWOLIO6lOi #dependencyStart,#mermaid-svg-58ZQMFgWOLIO6lOi .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-58ZQMFgWOLIO6lOi #dependencyStart,#mermaid-svg-58ZQMFgWOLIO6lOi .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-58ZQMFgWOLIO6lOi #extensionStart,#mermaid-svg-58ZQMFgWOLIO6lOi .extension{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-58ZQMFgWOLIO6lOi #extensionEnd,#mermaid-svg-58ZQMFgWOLIO6lOi .extension{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-58ZQMFgWOLIO6lOi #aggregationStart,#mermaid-svg-58ZQMFgWOLIO6lOi .aggregation{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-58ZQMFgWOLIO6lOi #aggregationEnd,#mermaid-svg-58ZQMFgWOLIO6lOi .aggregation{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-58ZQMFgWOLIO6lOi .edgeTerminals{font-size:11px;}#mermaid-svg-58ZQMFgWOLIO6lOi :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} Client «interface» Handler handleRequest() : string ConcreteHandlerA name:string next:Handler handleRequest() : string Option() ConcreteHandlerB name:string next:Handler handleRequest() : string Option()
http://www.yutouwan.com/news/322988/

相关文章:

  • 软件 网站开发合作协议mysql 注册网站
  • 公司网站怎样实名认证奥派网站建设
  • 广东蕉岭县建设局网站网站建设 江苏
  • wordpress建站购买江门众瞬网络科技有限公司
  • 多种郑州网站建设软件开发在哪能看
  • 微信订阅号做微网站wordpress登录页面打不开
  • 湘icp备 网站建设 农业 湖南wordpress文章略缩图
  • 3030wa网站开发学校找网站推广
  • 代刷网站搭建教程产品质量推广营销语
  • ps可以做网站动态图治多县网站建设公司
  • 网站开发外包维护合同appstar
  • 凡客建站网站下载梧州论坛 红豆社区
  • 网站搭建找谁电商网站建设济南建网站
  • 科技公司网站案例新人做外贸流程
  • 网站设计过程介绍汽车营销活动策划方案
  • 网站到期请续费白城网站建设
  • 班级网站制作教程怎么制作网页链接在微信上发
  • 电子商务网站建设与维护致谢词怎么写软文
  • 网站建设xiu021什么游戏不用登录直接玩
  • 毕业设计(论文)-潮州美食网网站建设.doc 免费下载企业网页申请制作步骤
  • 网站开发做什么简单wordpress 扁擔
  • 购物商城网站制作cms 免费
  • 做境外域名网站如何找外链资源
  • 建设银行注册网站的用户名怎么写高端网站建设合同
  • 做调查问卷用的网站或软件.net如何做网站
  • 网站建设推广哪里好wordpress 域名使用
  • 汕头网站建设 网络服务wap网站前台模板
  • 南宁seo建站seo教程网站优化
  • 烟台网站关键词推广成品视频直播软件推荐哪个好一点ios
  • 免费的创建个人网站网站数据库问题