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

中南建设的网站wordpress单图模式

中南建设的网站,wordpress单图模式,宝安区在深圳排第几,网站的建设背景图片责任链模式:和上一篇策略模式一样也是行为型模式。创建一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它…

责任链模式:和上一篇策略模式一样也是行为型模式。创建一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推

介绍
  • 意图:避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。
  • 主要解决问题:客户只需要将请求发送到职责链上即可,无须关心请求的处理细节和请求的传递,总的来说就是职责链将请求的发送者和请求的处理者解耦。
  • 关键代码:抽象类里面聚合它自己(聚合和抽象类我在设计模式的六大原则-CSDN博客有介绍和示例),里面判断是否满足条件,如果没达到条件则向下传递。
  • 优点:1、降低耦合度。它将请求的发送者和接收者解耦。 2、简化了对象。使得对象不需要知道链的结构。 3、增强给对象指派职责的灵活性。通过改变链内的成员或者调动它们的次序,允许动态地新增或者删除责任。 4、增加新的请求处理类很方便。
  • 缺点:1、不能保证请求一定被接收。 2、系统性能将受到一定影响,而且在进行代码调试时不太方便,可能会造成循环调用。 3、可能不容易观察运行时的特征,有碍于除错。

还这个绘制三角形、圆形、矩形图案例子

  1. 创建抽象的绘制类。
    public abstract class AbstractDraw {public static String TRIANGLE = "三角形";public static String CIRCULAR = "圆形";public static String RECTANGLE = "矩形";protected String shape;//责任链中的下一个接收者protected AbstractDraw nextDraw;public void setNextDraw(AbstractDraw nextDraw){this.nextDraw = nextDraw;}public void draw(String shape, String colour){if(this.shape.equals(shape)){drawing(colour);}if(nextDraw !=null){nextDraw.draw(shape, colour);}}abstract protected void drawing(String colour);}
  2. 创建扩展该绘制类的
    三角形责任实体类
    public class TriangleDraw extends AbstractDraw{public TriangleDraw(String shape) {this.shape = shape;}@Overrideprotected void drawing(String colour) {//绘制一个colour颜色的三角形逻辑}
    }
    圆形责任实体类
    public class CircularDraw extends AbstractDraw{public CircularDraw(String shape) {this.shape = shape;}@Overrideprotected void drawing(String colour) {//绘制一个colour颜色的圆形逻辑}
    }
    矩形责任实体类
    public class RectangleDraw extends AbstractDraw{public RectangleDraw(String shape) {this.shape = shape;}@Overrideprotected void drawing(String colour) {//绘制一个colour颜色的距形逻辑}
    }
    
  3. 创建不同类型的责任编排成链
    public class ChainPatternDemo {//编排成链static AbstractDraw getChainOfDraw(){AbstractDraw triangleDraw = new TriangleDraw(AbstractDraw.TRIANGLE);AbstractDraw circularDraw = new CircularDraw(AbstractDraw.CIRCULAR);AbstractDraw rectangleDraw = new RectangleDraw(AbstractDraw.RECTANGLE);triangleDraw.setNextDraw(circularDraw);circularDraw.setNextDraw(rectangleDraw);return triangleDraw;}//使用示例public static void main(String[] args) {AbstractDraw drawChain = getChainOfDraw();drawChain.draw(AbstractDraw.TRIANGLE,"红色");drawChain.draw(AbstractDraw.CIRCULAR,"蓝色");drawChain.draw(AbstractDraw.RECTANGLE,"绿色");}
    }

http://www.yayakq.cn/news/960176/

相关文章:

  • 做网站用php还是html好wordpress首页显示评论
  • 音乐APP网站开发软件培训内容
  • 通过平台建网站做旅游销售网站平台ppt
  • 自己做网站可行吗网站设计师工资一般多少
  • 青山湖南昌网站建设甘肃省环保建设申报网站
  • 网站建站智能系统宁波在线网
  • 网站seo谷歌企业年金是什么?缴费比例是多少?
  • 常州做网站软件大连建设网站的公司
  • 兰州市住房和建设局网站如何做流量网站
  • 服装电子商务网站建设与实现云主机推荐
  • 郑州网站开发招聘医疗网站建设怎么样
  • 网站域名管理在哪里网站升级改版
  • 网站开发属于什么专业北京网站建设著名公司
  • 网站的建设方法不包括什么纪检网站建设方案
  • 男女做性哪个的小视频网站永久免费crm都有什么
  • 网站建设xiu021北京网站制作与网站设计
  • 网站建设需要学多久知乎北京seo网站优化培训
  • 太原制作手机网站株洲市建设局官方网站
  • 建设局网站公告猪八戒做网站
  • 建筑工程网教百度seo关键词排名优化工具
  • 网站关键字怎么优化六安有哪些做网站的公司
  • o2o网站制作搜索引擎广告投放
  • 宝安设计网站建设seo网站关键词优化
  • 百度网盘官方网站软件开发模型的优缺点及适用范围
  • 想建立什么网站怎么查网站的空间商
  • 网站投票链接怎么做的杭州网站建设朗诵面朝
  • 查排名官网公众号seo排名软件
  • app与移动网站开发资料网页设计实验报告分析与体会
  • 贵阳网站搜索优化做网站接广告赚钱吗
  • 有关网站开发的论文做零食网站怎么样