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

订餐网站怎么做短视频平台

订餐网站怎么做,短视频平台,软件下载网站怎么赚钱,北京响应式h5网站开发写文章的初心主要是用来帮助自己快速的回忆这个模式该怎么用#xff0c;主要是下面的UML图可以起到大作用#xff0c;在你学习过一遍以后可能会遗忘#xff0c;忘记了不要紧#xff0c;只要看一眼UML图就能想起来了。同时也请大家多多指教。 装饰模式 是一种结构型模式。…写文章的初心主要是用来帮助自己快速的回忆这个模式该怎么用主要是下面的UML图可以起到大作用在你学习过一遍以后可能会遗忘忘记了不要紧只要看一眼UML图就能想起来了。同时也请大家多多指教。 装饰模式 是一种结构型模式。 目录 一、概述 1.1、主要的角色 1.2、直观的理解装饰模式要干什么 1.3、那么该如何思考呢 1.4、我先给出描述对象之间关系的UML图 1.5、什么是断点 二、举例代码实现 2.1、对象之间的关系用UML图表示如下 2.2、代码如下建议你在本地试一下加深印象 一、概述 1、需要把所需的功能按正确的顺序串联起来进行控制; 2、动态地给一个对象添加一些额外的职责就增加功能来说装饰模式比生成子类更为灵活; 3、装饰模式是为已有的功能动态的添加更多功能的一种方式; 4、主要是给一个核心类 动态的添加各种功能。 1.1、主要的角色 主要的角色分两种但从代码或技术实现的角度看为了充分使用面向对象语言的3大特性封装、继承、多态还另外需要抽象类或接口可能有4个 组件类组件类的抽象类或接口 组件类的实现类装饰类装饰类的抽象类或接口  装饰类的实现类 1.2、直观的理解装饰模式要干什么 举个简单例子之前是只运行对象A现在新加了对象B和对象C当我们希望要运行的对象应该由对象A到对象B再到对象C也就是希望对象运行之间有严格的顺序要求时就可以尝试使用装饰模式。如我们希望达到的效果是这样的 1.3、那么该如何思考呢 可以从上可以看到原先只有对象A而对象B和对象C是后来加上的且有严格的执行顺序那么应用装饰模式后我们可以认为 对象A为组件类对象B和对象C为装饰类用来装饰对象A 除此之外对于代码实现而言非常重要的东西是 装饰类里的“断点”这个词是我拍脑子想的是为了帮助我们理解如何实现此模式而产生的下面我会解释它是什么。 1.4、我先给出描述对象之间关系的UML图 1.5、什么是断点 这是我从代码实现的角度提出的所以要从代码的角度解释 就拿上面的简单的举例来说我们可以很明确地看到执行顺序是A-》B-》C但实际代码实现上并非这样有前后顺序而是你中有我、我中有你解释图如下 看懂上图我们就理解断点的意义了同时也能发现装饰模式远比我们想象的更加灵活不只是简单的A-》B-》C就不再举例了。 需要说明的是不同语言具体的实现方式略有不同如python的语法本身就支持装饰器使用起来也更容易而Java则需要创建装饰器父类然后具体的装饰对象要继承父类将调用父类的方法当做断点使用。但他们的共同点就是都有一个断点这个断点可以用来插入别的类或对象的代码去运行。 二、举例代码实现 现有一个组件类和装饰类A、装饰类B我们希望可以先运行组件类、再运行装饰类A、再运行装饰类B。 不再分析了例子本身比较简单而且上面概述当中也说的很清楚了。就直接给uml图和Java实现代码 2.1、对象之间的关系用UML图表示如下 2.2、代码如下建议你在本地试一下加深印象 Java实现。 组件类的抽象类 abstract class Component {public abstract void operation(); }具体的组件类 public class ConcreteComponent extends Component {Overridepublic void operation() {System.out.println(具体组件对象的实际操作);} }装饰类的抽象类 abstract class Decorator extends Component {protected Component component;public void setComponent(Component component) {this.component component;}Overridepublic void operation() {if (this.component ! null) {component.operation();}} }装饰类A public class ConcreteDecoratorA extends Decorator {private String testA;Overridepublic void operation() {super.operation(); //断点this.testA 具体装饰对象A的独有操作;System.out.println(this.testA);} } 装饰类B public class ConcreteDecoratorB extends Decorator {Overridepublic void operation() {super.operation(); //断点this.testB();}private void testB() {System.out.println(具体装饰对象B的独有操作);} }主程序发起请求的类 public class Main {public static void main(String[] args) {ConcreteComponent component new ConcreteComponent();ConcreteDecoratorA concreteDecoratorA new ConcreteDecoratorA();ConcreteDecoratorB concreteDecoratorB new ConcreteDecoratorB();concreteDecoratorA.setComponent(component);concreteDecoratorB.setComponent(concreteDecoratorA);concreteDecoratorB.operation();} }这里就不再举例了可以把上面的Java例子复制到你本地运行main函数试一下加深理解。这些代码都是我自己学习的时候根据一些教材手敲的不存在bug可以直接运行。 如果觉得本文还不错就请点个赞给作者一点鼓励吧如果有建议也请评论指教和讨论
http://www.ho-use.cn/article/10816420.html

相关文章:

  • 临海城市建设网站免费外链网盘
  • 网站建设合同任wordpress标签工具
  • 网站建设的项目总结什么是企业网站建设
  • 如何上传网站到云主机服装定制网站模板
  • 联合实验室 网站建设方案阿里云域名续费
  • 自己能否建立公司网站dw个人主页制作代码
  • 企业网站的制作哪家好企业案例网站
  • 企梦云网站建设php商城网站开发实例视频教程
  • 建设一个用教育网站网站建立的步骤
  • 乐清网站网络公司个人做分类信息网站
  • 北京做手机网站建设高端品牌网站建设定位
  • 什么是权重高的网站linux类似wordpress
  • 商业网站建设所用软件做正规网站
  • 婚纱网站模板素材花生壳怎么建设购物网站
  • 刘素云网站脱孝怎样做广州网站建设制作的公司
  • dw做的网站如何使用wordpress画廊怎么用
  • 婚庆类网站模板做的比较好的猎头网站
  • 无锡做公司网站的做公司网站 烟台
  • 网站源码是什么小程序开发和app开发差别
  • 上海企乐网站制作公司vs2015做简单网站
  • 做阿里巴巴网站图片大全上海seo推广公司
  • 协会类网站免费模板网站主页设计代码
  • 无锡网站维护公司月付网站空间提供商
  • 重庆产品推广类网站wordpress滑动登录
  • 武进网站建设要多少钱免费wordpress主题下载
  • 南宁营销网站建设上优化seo
  • 厦门城乡建设局网站什么是企业vi设计
  • 建设网站要买空间吗东莞企业网站制作怎么做
  • 东莞电商公司排名广州外贸seo优化
  • vs做网站教程商城网站设计配色思想