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

网站服务器怎么配外包网站公司

网站服务器怎么配,外包网站公司,网络营销的策略,网站建设实训总结范文目录 一、 啥是装饰器模式#xff1f;二、 为什么要用装饰器模式#xff1f;三、 装饰器模式的实现方式四、 装饰器模式的优缺点五、 装饰器模式的应用场景六、 装饰器模式 vs 代理模式七、 总结 #x1f31f;我的其他文章也讲解的比较有趣#x1f601;#xff0c;如果喜欢… 目录 一、 啥是装饰器模式二、 为什么要用装饰器模式三、 装饰器模式的实现方式四、 装饰器模式的优缺点五、 装饰器模式的应用场景六、 装饰器模式 vs 代理模式七、 总结 我的其他文章也讲解的比较有趣如果喜欢博主的讲解方式可以多多支持一下感谢 了解适配器模式请看 (七)趣学设计模式 之 适配器模式 这篇文章带你详细认识一下设计模式中的装饰器模式 一、 啥是装饰器模式 想象一下你点了一杯咖啡 ☕️觉得味道有点单调想加点料比如加一份牛奶 或者加一份糖 甚至加一份巧克力酱 。 每次加料咖啡的味道都会变得不一样 。 装饰器模式就是用来动态地给一个对象添加一些额外的职责 它可以让你在不修改原有对象的基础上扩展对象的功能 ➕。 简单来说就是给对象穿上不同的“衣服”让它拥有不同的功能 你想给一个对象添加一些额外的功能但是不想修改它的代码 就像你想给咖啡加料但是不想修改咖啡的制作方法 ☕️你想动态地给对象添加功能而不是静态地继承 就像你想根据自己的喜好随时给咖啡加不同的料 你想避免创建大量的子类 就像你不想为每种加料的咖啡都创建一个新的类 ☕️, ☕️, ☕️ 二、 为什么要用装饰器模式 用装饰器模式好处多多 扩展性好 可以动态地添加新的装饰器扩展对象的功能 ➕灵活性高 可以灵活地组合不同的装饰器实现不同的功能组合 符合开闭原则 可以在不修改原有代码的情况下增加新的装饰器扩展功能 避免了继承带来的类爆炸问题 不需要创建大量的子类减少了类的数量 三、 装饰器模式的实现方式 装饰器模式主要包含以下几个角色 Component组件 定义一个对象接口可以给这些对象动态地添加职责。 ☕️ (比如咖啡)ConcreteComponent具体组件 定义一个具体的对象实现了组件接口。 ☕️ (比如原味咖啡)Decorator装饰器 包含一个指向组件对象的引用并定义一个与组件接口一致的接口。 (比如调味品)ConcreteDecorator具体装饰器 具体的装饰器类负责给组件对象添加额外的职责。 (比如牛奶、糖、巧克力酱) 代码示例 // 组件接口咖啡 public interface Coffee {String getDescription(); // 获取描述double getCost(); // 获取价格 }// 具体组件原味咖啡 public class SimpleCoffee implements Coffee {Overridepublic String getDescription() {return 原味咖啡;}Overridepublic double getCost() {return 10.0;} }// 装饰器调味品 public abstract class CoffeeDecorator implements Coffee {protected Coffee coffee; // 组合咖啡对象public CoffeeDecorator(Coffee coffee) {this.coffee coffee;}Overridepublic String getDescription() {return coffee.getDescription();}Overridepublic double getCost() {return coffee.getCost();} }// 具体装饰器牛奶 public class Milk extends CoffeeDecorator {public Milk(Coffee coffee) {super(coffee);}Overridepublic String getDescription() {return super.getDescription() , 加牛奶;}Overridepublic double getCost() {return super.getCost() 2.0;} }// 具体装饰器糖 public class Sugar extends CoffeeDecorator {public Sugar(Coffee coffee) {super(coffee);}Overridepublic String getDescription() {return super.getDescription() , 加糖;}Overridepublic double getCost() {return super.getCost() 1.0;} }// 客户端 public class Client {public static void main(String[] args) {Coffee coffee new SimpleCoffee(); // 创建原味咖啡System.out.println(coffee.getDescription() , 价格 coffee.getCost());coffee new Milk(coffee); // 加牛奶System.out.println(coffee.getDescription() , 价格 coffee.getCost());coffee new Sugar(coffee); // 加糖System.out.println(coffee.getDescription() , 价格 coffee.getCost());} }分析 Coffee 是组件接口定义了咖啡的描述和价格。SimpleCoffee 是具体组件实现了原味咖啡。CoffeeDecorator 是装饰器组合了咖啡对象并实现了咖啡接口。Milk 和 Sugar 是具体装饰器分别给咖啡添加了牛奶和糖。 输出结果 原味咖啡, 价格10.0 原味咖啡, 加牛奶, 价格12.0 原味咖啡, 加牛奶, 加糖, 价格13.0四、 装饰器模式的优缺点 优点 扩展性好 ➕灵活性高 符合开闭原则 避免了继承带来的类爆炸问题 缺点 增加了系统的复杂度 可能会产生很多小对象 调试困难特别是当有很多装饰器的时候 五、 装饰器模式的应用场景 动态地给对象添加职责 就像给咖啡加料或者给汽车加装配件 需要灵活地组合不同的功能 就像给文本编辑器添加不同的功能比如加粗、斜体、下划线 避免创建大量的子类 就像避免为每种加料的咖啡都创建一个新的类 ☕️, ☕️, ☕️IO流 Java IO流中大量使用了装饰器模式例如 BufferedInputStream 和 BufferedOutputStream 都是装饰器用于提高IO效率。 六、 装饰器模式 vs 代理模式 代理模式请看(六)趣学设计模式 之 代理模式 特性装饰器模式代理模式目的动态地给对象添加额外的职责 ➕控制对对象的访问 关注点扩展功能控制访问关系装饰器和组件之间是“is-a”关系接口代理和真实对象之间是“is-a”关系接口组合装饰器组合的是组件对象可以多层组合 ☕️代理组合的是真实对象通常只有一层 ‍透明性客户端通常知道它正在使用装饰器 ️客户端通常不知道它正在使用代理 例子咖啡加料 ☕️房产中介 ‍常见应用IO流GUI组件远程代理虚拟代理保护代理缓存代理核心区别扩展对象的功能不改变原有接口控制对对象的访问可以改变原有接口的行为 七、 总结 装饰器模式就像给对象穿衣服让它拥有不同的功能 主要包含组件、具体组件、装饰器和具体装饰器四个角色 优点是扩展性好、灵活性高、符合开闭原则、避免类爆炸 缺点是增加复杂度、可能产生很多小对象、调试困难 适用于需要动态地给对象添加职责并且需要灵活地组合不同的功能的场景 希望这篇文章能让你彻底理解装饰器模式 祝你学习愉快 看完请看(九)趣学设计模式 之 桥接模式
http://www.hkea.cn/news/14456902/

相关文章:

  • 做外文H网站商城网站建设需求分析
  • 北京市城市建设档案馆网站帝国网站建设
  • 免费建设旅游网站京伦科技网站做的怎么样
  • 搜狗站长平台打不开成都市区必去的景点
  • 深圳移动网站建站关键词优化上海
  • 优化网站图片做一个门户网站多少钱
  • 淘宝网的网站设计特色河北建设信息平台网站
  • 手机app与手机网站的区别wordpress博
  • 国内好的crm系统信阳优化公司
  • 富蕴县建设局网站网站搭建响应式
  • 环保网站建设开发西安在线最新招聘信息
  • 简述网站规划的流程微信应用开发平台
  • 媒体平台是什么南昌网站排名优化
  • 如何在外国网站卖东西如何制作企业网站
  • 微信分销网站建设比较好游戏设计
  • 教育网站建设毕业设计说明书网站改版策划方案
  • 建设银行网站怎么注销网银柳州建设网经济适用房
  • 怎么检查网站死链东莞千寻电子科技有限公司
  • 网站域名需要续费的吗游戏网页设计作品欣赏
  • 烟台专业网站推广广州好蜘蛛网站建设
  • 网站公司怎么做运营做招聘网站创业
  • 个人网站创意大型的营销型网站建设
  • 个人网站可以做淘宝客吗深圳网站设计服务公
  • 做网站服务器配置怎么选什么专业会制作网站
  • 贵阳网站建设推广公司vultr建站wordpress
  • 网站建设运营成本如何制作网页线上答题并生成证书
  • 《网站开发实例》pdf下载南昌建设医院网站
  • 合川网站建设公司做产品类网站有哪些内容
  • 企业网站的优化摄影婚纱网站建设
  • 又拍网站怎么做网站正在建设中 图片