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

网站建设外包公司怎么样在线友情链接

网站建设外包公司怎么样,在线友情链接,怎么利用婚庆网站做营销,ionic 做网站目录 介绍 实现 优缺点 装饰模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有类的一个包装。这种模式创建了一个装饰类,用来包装原有…

目录

介绍

实现

优缺点


装饰模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有类的一个包装。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。

介绍

意图:动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更灵活。

主要解决:我们扩展一个类常使用继承方式实现,由于继承为类引入静态特征,并且随着扩展功能的增多,子类会越来越膨胀。

如何使用:在不想增加很多子类的情况下扩展。

如何解决:将具体功能职责划分,同时继承装饰者模式。

关键代码:1. Component 类充当抽象角色,不应该具体实现。2. 修饰类引用合继承 Component 类,具体扩展类重写父类方法。

使用场景:1. 扩展一个类的功能。2. 动态增加功能,动态撤销。

实现

创建一个 Shape 接口合实现了 Shape 接口的实体类。然后再创建一个实现了 Shape 接口的抽象装饰类 ShapeDecorator,并把 Shape 对象作为它的实例变量。RedShapeDecorator 是实现了 ShapeDecorator 的实体类。DecoratorPatternDemo 类使用 RedShapeDecorator 来装饰 Shape 对象。

 步骤1:

public interface Shape{void draw();
}

步骤2:

public class Rectangle implements Shape{@Overridepublic ovid draw(){System.out.println("draw Rectangle");}
}
public class Cricle implements Shape{@Overridepublic ovid draw(){System.out.println("draw Circle");}
}

步骤3:

public abstract class ShapeDecorator implements Shape{private Shape shape; // 持有一个 Shape 对象public ShapeDecorator(Shape shape){this.shape = shape;}public void draw(){shape.draw();// TODO 根据传进来的具体 Shape 对象,调用对应的 draw 方法}
}

 步骤4:

public class RedShapeDecorator extends ShapeDecorator{public RedShapeDecorator(Shape shape){super(shape);}@Overridepublic void draw(){shape.draw();setRedBorder(shape);}public void setRedBorder(Shape shape){System.out.println("Border Color: Red");}
}

 步骤5

public class DecoratorPatterndDemo{public static void main(String args[]){//TODO 面向抽象层编程// 普通的CircleShape circle = new Circle();System.out.println("Circle with normal Border");        circle.darw();// 红色边界的 CircleShapeDecorator redCircle = new RedShapeDecorator(new Circle); System.out.println("Circle of red Border");redCircle.draw();// 红色边界的 RectangleShapeDecorator redRectangle = new RedShapeDecorator(new Rectangel):System.out.println("Rectangle of red Border");redRectangle.draw();}
}

优缺点

优点:装饰类和被装饰类可以独立发展,不会相互耦合,装饰模式是继承的一个替代模式,装饰模式可以动态扩展一个实现类的功能。

缺点:多层装饰比较复杂。

http://www.zhongyajixie.com/news/65499.html

相关文章:

  • 怎么自己做视频网站深圳谷歌推广公司
  • 我想代理一个产品惠州百度seo哪家好
  • 网站做好了怎么上线广州优化疫情防控措施
  • 成都网站建设优化快速收录工具
  • 网站建设的目的意义百度经验手机版官网
  • 太原网站建设主页营销型网站建设策划书
  • 企业固定ip做网站百度的seo排名怎么刷
  • 民族团结 网站建设百度登录个人中心
  • html静态网站作品互联网推广平台有哪些公司
  • 企业网站建设实训报告备案查询
  • 柳市做网站建设网络营销策划书怎么写
  • 在深圳做网站平台需要什么备案产品推广策略
  • 云浮云城疫情最新消息通知seo西安
  • 长春长春网站建设网常德今日头条新闻
  • 怎么做网站赚钱的动漫网站网络公司网络推广
  • 简单的旅游网站怎么做互联网推广是什么工作内容
  • 用html代码编写一个简单的网页seo技术平台
  • 做网站需要基础吗百度seo关键词报价
  • 网站建立计划书网络服务运营商
  • 东莞市做网站公司谷歌浏览器入口
  • 哪家公司做网站正规佛山关键词排名效果
  • 网站上传 文件夹结构新冠疫苗接种最新消息
  • 西宁网络公司电话资阳市网站seo
  • 微信小程序开挂方法seo在线优化平台
  • 怎样找竞争对手网站aso优化重要吗
  • 乌鲁木齐网站建设苏州百度
  • 市政府网站集约化平台建设工作方案成都百度seo优化公司
  • 郑州外贸网站建设公司价格百度seo发帖推广
  • 关于政府门户网站建设的见解seo站长查询
  • 相关文章 wordpressseo优化网