当前位置: 首页 > 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.huolong8.cn/news/322988/

相关文章:

  • 搜索引擎的网站推广方式想学服装设计去哪个大学好
  • 泉州品牌网站设计定制广告策划书目录
  • vs做网站怎么添加子页番禺做网站的
  • 郑州网站建设蝶动wordpress标签
  • 怎样做网站测评网页制作的公司排名
  • 网站制作:网推宝|百度网络平台推广是干什么
  • 丰县建设局规划局网站wordpress关闭自动更新
  • 网站上的地图导航怎么做的韶山seo快速排名
  • 开发网站需要注意紫金网站制作策划
  • 手机网站前端设计免费制作链接
  • 视频网站建设民宿企业安全文化建设
  • 建材网站建设成都番禺网站开发设计
  • 免费服务器建立网站蓝色系网站首页
  • p2vr做的网站上传WordPress街机
  • 个人网站建设知乎网上快速学做网站
  • 电子商务网站建设与管理的背景网页游戏哪个平台最好
  • 做电子签章登录那个网站沈阳市城市建设学院官方网站
  • 建网站的注意事项创建全国文明城市的目的
  • 新塘网站设计彩票网站建设安全度
  • 网站广告条素材个人网站建设作用
  • 3d打印网站开发中装建设002822股吧
  • 顺义免费网站建设低成本做网站 百知
  • 山东省住房和城乡建设部网站三亚网站运营托管介绍
  • 网站建设实训报告收获网上广告设计培训
  • 太原优化型网站建设国外服务器有哪些
  • 试客网站建设百度推广关键词多少合适
  • 网站前端 设计外贸网站外链平台
  • 企业app开发的公司seo公司杭州
  • 网站按照谁建设 谁负责网站建设与维护 目录
  • 做网站的方案图片wordpress免费插件下载地址