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

一站式装修公司有哪些上海有名的做网站的公司有哪些

一站式装修公司有哪些,上海有名的做网站的公司有哪些,谁给个好网站,重庆建设工程信息网官网入口网址概述 装饰器模式 : Decorator Pattern : 是一种结构型设计模式. 作用 : 允许你动态地给对象添加功能或职责,而无需修改其原始类的代码,非常的符合 开闭原则。 实现思路 :通过创建一个包装对象(即装饰器),来…

概述

装饰器模式 : Decorator Pattern : 是一种结构型设计模式.
作用 : 允许你动态地给对象添加功能或职责,而无需修改其原始类的代码,非常的符合 开闭原则
实现思路 :通过创建一个包装对象(即装饰器),来包裹原始对象,并在运行时动态地为这个对象增加新的行为。
简单理解 : 就是一层一层的包装起来。

核心思想

1、开放封闭原则:软件实体(类、模块、函数等)应该对扩展开放,对修改封闭。
装饰器模式很好地体现了这一原则,它允许我们在不改变已有代码的情况下,通过添加新的装饰器类来扩展功能。
2、避免继承层次过多:如果使用继承来实现功能扩展,可能会导致子类数量爆炸式增长。而使用装饰器模式可以有效地减少这种复杂性。

主要角色

1、Component(组件):定义了被装饰的对象接口,可以是一个具体类或抽象类。
2、ConcreteComponent(具体组件):实现了Component接口的具体类,是我们希望装饰的对象。
3、Decorator(装饰器):持有一个Component对象的引用,并且定义了一个与Component相同的接口,使得Decorator可以替代具体的组件。
4、ConcreteDecorator(具体装饰器):实现了Decorator接口,并在其基础上添加了额外的行为或功能。

情景模式

1、有一些企业是 做电子产品的,可以生产各种各样的电子产品 - 抽象的组件
2、有一家企业是 专门生产电脑的 - 具体的组件
3、有一些企业是做 音响的,可以给电脑配置音响 - 装饰器
4、有一家企业是 专门给电脑定制音响的 - 具体装饰器
5、有一些企业是做 软件的,可以给电脑安装软件 - 装饰器
6、有一家企业是 专门给电脑做 聊天软件的 - 具体的装饰器

类图

在这里插入图片描述

案例代码

被装饰者-组件

接口类

public interface ElectronProduct {void generatElectronProduct();
}

具体实现类

public class ComputerProduct implements ElectronProduct{@Overridepublic void generatElectronProduct() {System.out.println("生产电脑。。。");}
}

装饰器

抽象类/基类

public abstract class ELectronicDecorator implements ElectronProduct{protected ElectronProduct electronProduct;public ELectronicDecorator(ElectronProduct electronProduct) {this.electronProduct = electronProduct;}// 对接口中的方法进行实现,也可以做成抽象的@Overridepublic void generatElectronProduct() {electronProduct.generatElectronProduct();}
}

具体实现类-可以有多个

public class ComputerDecorator extends ELectronicDecorator{public ComputerDecorator(ElectronProduct electronProduct) {super(electronProduct);}@Overridepublic void generatElectronProduct() {electronProduct.generatElectronProduct();System.out.println("增加电脑装饰-安装软件");}
}
public class ComputerDecorator2 extends ELectronicDecorator{public ComputerDecorator2(ElectronProduct electronProduct) {super(electronProduct);}@Overridepublic void generatElectronProduct() {electronProduct.generatElectronProduct();System.out.println("增加电脑装饰-增强音响");}
}

测试类


public class Test {public static void main(String[] args) {// 1、最原始的对象ElectronProduct electronProduct = new ComputerProduct();electronProduct.generatElectronProduct(); // 原生的方法System.out.println(" =============== ");// 2、添加一层装饰ELectronicDecorator eLectronicDecorator = new ComputerDecorator(electronProduct);eLectronicDecorator.generatElectronProduct(); // 装饰器对象的方法,将原来的方法进行了增强System.out.println(" =============== ");// 3、再多一层装饰ELectronicDecorator eLectronicDecorator2 = new ComputerDecorator2(eLectronicDecorator);eLectronicDecorator2.generatElectronProduct();// 后续还可以继续添加装饰}
}
运行结果:
生产电脑。。。=============== 
生产电脑。。。
增加电脑装饰-安装软件=============== 
生产电脑。。。
增加电脑装饰-安装软件
增加电脑装饰-增强音响

文章转载自:

http://WfMSM6mR.nfLpk.cn
http://mOyY8q0q.nfLpk.cn
http://HYqCUSus.nfLpk.cn
http://P6BIuDoe.nfLpk.cn
http://ydF8wZu4.nfLpk.cn
http://QpOX168M.nfLpk.cn
http://OOQ6SHGq.nfLpk.cn
http://UP2nmCR3.nfLpk.cn
http://B34TMSG0.nfLpk.cn
http://Vv1sKx1u.nfLpk.cn
http://opyRGO9C.nfLpk.cn
http://hXXMAjen.nfLpk.cn
http://mBSRwBpi.nfLpk.cn
http://bOjQE7wF.nfLpk.cn
http://Tnv6mf5f.nfLpk.cn
http://5jjHIquo.nfLpk.cn
http://ohkdrtI5.nfLpk.cn
http://nbjTZiHm.nfLpk.cn
http://KRBOADeM.nfLpk.cn
http://4g76lVjF.nfLpk.cn
http://6BDaGDjk.nfLpk.cn
http://Kke3VK6y.nfLpk.cn
http://HyHGbfB0.nfLpk.cn
http://cNZaOmow.nfLpk.cn
http://KLp64Y5o.nfLpk.cn
http://mZlQevce.nfLpk.cn
http://Q5DSHXeD.nfLpk.cn
http://3xh041jZ.nfLpk.cn
http://DesPnDxO.nfLpk.cn
http://unT9TthZ.nfLpk.cn
http://www.dtcms.com/wzjs/687728.html

相关文章:

  • 潮州专业网站建设报价网站平台开发报价单
  • 公司网站需要程序员做吗菏泽市网站建设
  • 外贸网站推广制作教程上海 网络推广
  • 宝安专业网站设计公司自动化设备东莞网站建设
  • 网站建设 php怎么样备份网站数据
  • 整合营销传播企业seo多少费用
  • 如何网站开发语言wordpress主题hestia
  • 公司让做网站违法计算机专业做网站的开题报告
  • 网站转化排名优化课程
  • 说明多媒体教学网站开发的一般步骤做驾校题目用什么网站好
  • 六安市网站建设房地产交易网站
  • sem可以为网站建设做什么seo网站排名优化教程
  • 交易 网站备案炎陵网站建设
  • 智能网站如何进行网站营销
  • 休闲采摘园网站建设网站制作公司crm客户管理系统
  • 河南网站建设哪里有谷歌推广新手教程
  • 南通seo网站优化软件电视剧怎么做原创视频网站
  • 做物业管理的企业网站wordpress模板文件是那个文件目录
  • 做场景秀的网站山西建设银行招聘网站
  • 阿里服务器可以做多少个网站长春免费网站制作
  • 广州网站开发制作怎么访问域名网站
  • 判断网站做的好坏做网页学什么语言
  • 外贸云网站建设网站报备查询
  • 网站建设需要知识百度关键词优化平台
  • 青海省住房和建设厅网站网页设计与制作课程报告
  • 网站建设外包服务管理情况百度新闻头条新闻
  • 网站维护中页面代码邵阳市住房和建设局网站
  • 对手网站分析西安seo网络优化公司
  • 西安哪家做网站好网页设计图片轮播
  • 地方网站建站平台网上注册公司全部流程