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

网站开发汇报ppt模板查公司信息的网站是哪个网站

网站开发汇报ppt模板,查公司信息的网站是哪个网站,腾讯云主机安装wordpress,wordpress超酷主题深入理解装饰者模式 一、装饰者模式简介1.1 定义1.2 模式类型1.3 主要作用1.4 优点1.5 缺点 二、模式动机三、模式结构四、 装饰者模式的实现4.1 组件接口4.2 具体组件4.3 装饰者抽象类4.4 具体装饰者4.5 使用装饰者模式4.6 输出结果#xff1a; 五、 应用场景5.1 图形用户界面… 深入理解装饰者模式 一、装饰者模式简介1.1 定义1.2 模式类型1.3 主要作用1.4 优点1.5 缺点 二、模式动机三、模式结构四、 装饰者模式的实现4.1 组件接口4.2 具体组件4.3 装饰者抽象类4.4 具体装饰者4.5 使用装饰者模式4.6 输出结果 五、 应用场景5.1 图形用户界面5.2 数据流处理5.3 日志功能5.4 监控和计数 六、总结 一、装饰者模式简介 1.1 定义 装饰者模式Decorator Pattern是一种结构型设计模式它允许在运行时动态地向对象添加新的功能而不改变其结构和实现。装饰者模式通过组合来实现功能的扩展它将功能划分成单一职责的类并在需要时动态地组合这些功能实例化对象。 根据《设计模式可复用面向对象软件的基础》一书的定义装饰者模式是 动态地给对象添加一些额外的职责。就增加功能来说装饰者模式相比生成子类更为灵活。 1.2 模式类型 结构型 1.3 主要作用 扩展功能允许在运行时动态地给对象添加新的功能而不需要修改对象的结构。这有助于遵循 OCP 原则。灵活性和可重用性装饰者模式通过创建装饰类来包裹原始对象并在装饰类中添加功能这样可以灵活组合不同的装饰器以达到不同的功能组合同时原始类和装饰类都可以独立复用。简化复杂度对于有大量可选功能的对象如果使用继承来实现每种可能的功能组合会导致类的数量爆炸式增长。装饰者模式通过组合而非继承的方式来添加功能大大减少了类的数量简化了系统的复杂度。保持接口一致性装饰者模式保持了被装饰对象的接口一致客户端代码可以透明地使用装饰后的对象无需关心是否以及如何被装饰这有利于代码的维护和扩展。易于管理对象的责任每个装饰者都负责单一职责即添加特定的功能这使得对象的责任更加清晰便于管理和调试。 1.4 优点 灵活性高可以在运行时任意组合装饰者动态地扩展对象功能。符合单一职责原则每个装饰者类只负责增加一种功能类的职责更加单一。降低类复杂度相比通过继承扩展功能装饰者模式避免了大量的子类生成从而减少类的复杂度。 1.5 缺点 对象数量增多由于装饰者和被装饰者都是对象这会增加系统中对象的数量增加管理成本。依赖过多容易产生过多的小型对象增加系统复杂性理解和维护变得更加困难。 二、模式动机 装饰者模式的主要动机是应对以下几个问题 避免类爆炸通过继承添加新功能会导致子类数量激增维护起来十分困难。灵活组合功能继承的组合方式是静态的不够灵活。装饰者模式允许动态地组合功能。单一职责原则通过将功能分解到不同的装饰类中装饰者模式使每个类的职责更加单一代码更易读易维护。 三、模式结构 装饰者模式通常涉及以下几个角色 Component抽象组件定义一个对象接口可以给这些对象动态地添加职责。ConcreteComponent具体组件实现 Component 接口的具体对象可以给这些对象添加一些职责。Decorator装饰者抽象类继承 Component 接口通常持有一个 Component 对象的引用并定义一个与 Component 接口一致的接口。ConcreteDecorator具体装饰者扩展 Decorator 类的具体装饰者负责向组件添加新的职责。 四、 装饰者模式的实现 我们将以一个具体的咖啡示例来介绍装饰者模式的实现。在这个例子中我们有一个基本的咖啡对象可以动态地添加不同的配料如牛奶和糖。 4.1 组件接口 // Java实现 public interface Coffee {double cost();String getDescription(); }4.2 具体组件 public class SimpleCoffee implements Coffee {public double cost() {return 5.0;}public String getDescription() {return Simple Coffee;} }4.3 装饰者抽象类 public abstract class CoffeeDecorator implements Coffee {protected Coffee coffee;public CoffeeDecorator(Coffee coffee) {this.coffee coffee;}public double cost() {return coffee.cost();}public String getDescription() {return coffee.getDescription();} }4.4 具体装饰者 public class MilkDecorator extends CoffeeDecorator {public MilkDecorator(Coffee coffee) {super(coffee);}public double cost() {return super.cost() 1.5;}public String getDescription() {return super.getDescription() , Milk;} }public class SugarDecorator extends CoffeeDecorator {public SugarDecorator(Coffee coffee) {super(coffee);}public double cost() {return super.cost() 0.5;}public String getDescription() {return super.getDescription() , Sugar;} }4.5 使用装饰者模式 public class CoffeeShop {public static void main(String[] args) {Coffee coffee new SimpleCoffee();System.out.println(coffee.getDescription() Cost: $ coffee.cost());coffee new MilkDecorator(coffee);System.out.println(coffee.getDescription() Cost: $ coffee.cost());coffee new SugarDecorator(coffee);System.out.println(coffee.getDescription() Cost: $ coffee.cost());} }4.6 输出结果 Simple Coffee Cost: $5.0 Simple Coffee, Milk Cost: $6.5 Simple Coffee, Milk, Sugar Cost: $7.0五、 应用场景 5.1 图形用户界面 在图形用户界面GUI框架中装饰者模式广泛应用于实现各种控件的装饰功能。控件如按钮、文本框等可以用不同的装饰者类装饰来添加多种新功能如滚动条、边框等。例如Java Swing框架中的JComponent类就是使用类似装饰者模式的理念实现的。 5.2 数据流处理 在数据流处理框架中输入输出流是装饰者模式的另一个经典应用。Java的I/O流设计就是实现装饰者模式的一个优秀示例如FileInputStream、BufferedInputStream和DataInputStream等通过装饰者模式组合实现了灵活而强大的数据流操作功能。 5.3 日志功能 日志记录功能的实现也是装饰者模式的理想应用场景。例如传统的日志记录器Logger可以通过装饰者模式添加不同的日志处理和记录策略如格式化日志、输出到文件、发送电子邮件等。 5.4 监控和计数 在监控系统中可以动态地为程序添加计数器、性能监控器等功能以增强对系统运行状态的了解。 六、总结 装饰者模式是一种强大的设计模式它提供了一种灵活、可扩展的方式来动态地为对象添加新功能。通过这一模式我们可以在不修改已有类代码的情况下灵活地扩展系统功能符合开闭原则和单一职责原则。无论是在GUI编程中、日志功能增强还是在数据流处理以及监控系统中装饰者模式都能发挥重要作用。
http://www.w-s-a.com/news/758878/

相关文章:

  • 怎么设立网站赚广告费网页制作素材模板图片
  • 做班级网站的目的网站设计制作公司需要什么资质
  • 济南做网站哪家好财政网站平台建设不足
  • php网站建设招聘网站开发与设计论文
  • 上海 网站建设平台 补贴网站开发招标文件范本
  • 延安网站建设公司电话手机上那个网站做农产品推广比较好
  • 增城哪家网站建设好如何做网站实名认证
  • 常州地区做网站个人购物网站需要备案吗
  • 网站建设公司 跨界鱼科技专业做服务器的网站都有哪些
  • 欧洲网站服务器网站建设费用计入什么科目
  • 网站的色调苏州策划网站模板建站公司
  • 怎么看网站用的什么后台公路建设项目可行性研究报告编制办法哪个网站查最新版
  • 可以看的网站的浏览器有哪些专业APP客户端做网站
  • 如何做网站推广自己的产品推荐个网站好吗
  • 网站经营范围wordpress注入点
  • 学校网站开发协议夫妻网络网站建设
  • 福州网站seo推广优化微信商家小程序怎么弄
  • 免费网站推广工具在游戏网站做中介合法
  • 网站建设前的规划网站建设公司六安
  • 公司注册网站开发的行业表述南宁在百度上建网站
  • 创建企业网站国内网站用django做的
  • 云主机网站的空间在哪制作微网站的平台
  • 长沙做网站 青创互联wordpress4.4.1
  • 宜昌哪里有专业做网站的网站开发做什么的
  • 3小说网站开发东莞网站公司哪家好
  • 做网站安全联盟解ps网站设计概述
  • 聊城公司做网站wordpress连接域名
  • 宣传网站建设的意义台州行app官网下载
  • 温州 网站优化网站开发公司前置审批
  • 网站开发具体的工作内容网站下载app免费