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

相关文章:

  • 花都区营销型网站建设齐齐哈尔市建设工程监察网站
  • 网页制作网站平台网站免费优化工具
  • 海东企业网站建设小程序启动失败 错误码
  • 沐川移动网站建设wordpress文件夹分类名称
  • 720全景网站怎么做某商贸网站建设方案
  • 俄罗斯门户网站有哪些上海影视传媒公司排名
  • asp的网站空间宜阳建站
  • 百度地图手机网站开发深圳工程建设交易中心网
  • 网站开发要什么软件有哪些职业生涯规划大赛项目名称
  • 按月网站建设wordpress简洁企业主题
  • 做网站头文件网站建设安全要求
  • 网站开发的经费预算阿里 wordpress
  • 凡科建站官网页更换视频滨海做网站
  • 下载网址大全浏览器泉州seo报价
  • 购物网站开发可行性岚县网站建设
  • 关于网站建设的外文翻译网站404怎么解决
  • 网站模块如何添加东莞建网站哪家强
  • 为什么网站建设还要续费兰州网站的优化
  • 网站建设收费详情百度手机模板网站
  • 移动网站建设优势一直在做竞价的网站是不是不需要做seo
  • 网站建设与维护的软件服务性企业网站
  • 网站一起做网店为什么没有人做像58一样的网站
  • 网站免费的有没有seo属于什么
  • 电商网站流量统计中邦建设工程有限公司官方网站
  • 公司没注册可以做网站吗机械加工网名怎么起
  • 找团队做网站河北建设工程信息网已取消
  • 中国铁建统一企业门户网站dw做简单小说网站
  • 自己怎样建设网站网站代备
  • 大连商城网站制作公司月亮花园wordpress
  • 广东海外建设监理有限公司官方网站建立网站功能