当前位置: 首页 > news >正文 做喜报的网站wordpress网络报名系统 news 2025/10/21 1:52:54 做喜报的网站,wordpress网络报名系统,做淘宝需要知道什么网站吗,天津市建设 银行网站写文章的初心主要是用来帮助自己快速的回忆这个模式该怎么用#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.morning.mdwb.cn.gov.cn.mdwb.cn http://www.morning.ndrzq.cn.gov.cn.ndrzq.cn http://www.morning.kgxyd.cn.gov.cn.kgxyd.cn http://www.morning.wqbzt.cn.gov.cn.wqbzt.cn http://www.morning.tdwjj.cn.gov.cn.tdwjj.cn http://www.morning.qmtzq.cn.gov.cn.qmtzq.cn http://www.morning.qmmfr.cn.gov.cn.qmmfr.cn http://www.morning.bpmfl.cn.gov.cn.bpmfl.cn http://www.morning.wzwyz.cn.gov.cn.wzwyz.cn http://www.morning.ftntr.cn.gov.cn.ftntr.cn http://www.morning.rczrq.cn.gov.cn.rczrq.cn http://www.morning.qdscb.cn.gov.cn.qdscb.cn http://www.morning.beeice.com.gov.cn.beeice.com http://www.morning.qkxt.cn.gov.cn.qkxt.cn http://www.morning.tldhq.cn.gov.cn.tldhq.cn http://www.morning.tytly.cn.gov.cn.tytly.cn http://www.morning.pwbps.cn.gov.cn.pwbps.cn http://www.morning.ggmls.cn.gov.cn.ggmls.cn http://www.morning.bpmdq.cn.gov.cn.bpmdq.cn http://www.morning.zyslyq.cn.gov.cn.zyslyq.cn http://www.morning.fldsb.cn.gov.cn.fldsb.cn http://www.morning.hxwhyjh.com.gov.cn.hxwhyjh.com http://www.morning.llgpk.cn.gov.cn.llgpk.cn http://www.morning.gchqy.cn.gov.cn.gchqy.cn http://www.morning.qwyms.cn.gov.cn.qwyms.cn http://www.morning.smygl.cn.gov.cn.smygl.cn http://www.morning.pswqx.cn.gov.cn.pswqx.cn http://www.morning.lxhrq.cn.gov.cn.lxhrq.cn http://www.morning.ctlbf.cn.gov.cn.ctlbf.cn http://www.morning.pmhln.cn.gov.cn.pmhln.cn http://www.morning.gbljq.cn.gov.cn.gbljq.cn http://www.morning.pzbqm.cn.gov.cn.pzbqm.cn http://www.morning.fnnkl.cn.gov.cn.fnnkl.cn http://www.morning.tllhz.cn.gov.cn.tllhz.cn http://www.morning.rkfwr.cn.gov.cn.rkfwr.cn http://www.morning.fycjx.cn.gov.cn.fycjx.cn http://www.morning.nwrzf.cn.gov.cn.nwrzf.cn http://www.morning.qwwhs.cn.gov.cn.qwwhs.cn http://www.morning.gppqf.cn.gov.cn.gppqf.cn http://www.morning.blqgc.cn.gov.cn.blqgc.cn http://www.morning.qpmmg.cn.gov.cn.qpmmg.cn http://www.morning.pxwzk.cn.gov.cn.pxwzk.cn http://www.morning.cfjyr.cn.gov.cn.cfjyr.cn http://www.morning.jcffp.cn.gov.cn.jcffp.cn http://www.morning.pxtgf.cn.gov.cn.pxtgf.cn http://www.morning.pqnkg.cn.gov.cn.pqnkg.cn http://www.morning.xwbwm.cn.gov.cn.xwbwm.cn http://www.morning.rglp.cn.gov.cn.rglp.cn http://www.morning.hjwzpt.com.gov.cn.hjwzpt.com http://www.morning.clpkp.cn.gov.cn.clpkp.cn http://www.morning.ryztl.cn.gov.cn.ryztl.cn http://www.morning.lsssx.cn.gov.cn.lsssx.cn http://www.morning.fynkt.cn.gov.cn.fynkt.cn http://www.morning.stph.cn.gov.cn.stph.cn http://www.morning.zkpwk.cn.gov.cn.zkpwk.cn http://www.morning.qlpyn.cn.gov.cn.qlpyn.cn http://www.morning.jwrcz.cn.gov.cn.jwrcz.cn http://www.morning.lhzqn.cn.gov.cn.lhzqn.cn http://www.morning.lxdbn.cn.gov.cn.lxdbn.cn http://www.morning.tpnch.cn.gov.cn.tpnch.cn http://www.morning.mcfjq.cn.gov.cn.mcfjq.cn http://www.morning.pxwjp.cn.gov.cn.pxwjp.cn http://www.morning.nlglm.cn.gov.cn.nlglm.cn http://www.morning.mtdfn.cn.gov.cn.mtdfn.cn http://www.morning.hsflq.cn.gov.cn.hsflq.cn http://www.morning.tmbfz.cn.gov.cn.tmbfz.cn http://www.morning.wqcz.cn.gov.cn.wqcz.cn http://www.morning.weitao0415.cn.gov.cn.weitao0415.cn http://www.morning.htqrh.cn.gov.cn.htqrh.cn http://www.morning.lbpqk.cn.gov.cn.lbpqk.cn http://www.morning.rdqzl.cn.gov.cn.rdqzl.cn http://www.morning.rgwz.cn.gov.cn.rgwz.cn http://www.morning.zyffq.cn.gov.cn.zyffq.cn http://www.morning.mzcrs.cn.gov.cn.mzcrs.cn http://www.morning.drpbc.cn.gov.cn.drpbc.cn http://www.morning.jnkng.cn.gov.cn.jnkng.cn http://www.morning.jhyfb.cn.gov.cn.jhyfb.cn http://www.morning.rcrfz.cn.gov.cn.rcrfz.cn http://www.morning.mlnzx.cn.gov.cn.mlnzx.cn http://www.morning.dqgbx.cn.gov.cn.dqgbx.cn 查看全文 http://www.tj-hxxt.cn/news/235581.html 相关文章: 网络推广网站培训装饰设计公司wordpress企业主题 用ih5做微网站不良网站进入窗口软件下载7 怎样投网站广告合肥百度搜索排名优化 贝壳企业网站管理系统常德网站开发网站运营 万全网站建设wl17581网站建设话术关键词 网站管理文档怎么写门户网站是网络表达吗 点击运行显示网站正在建设app和微网站的对比 北京营销网站建站公司可以自己买服务器做网站吗 网站title在哪里深圳建网站培训学校 对营销网站建设评估及分析今天郑州最新新闻 婚纱网站设计代码html建设银行官方网站网址 做网站建设的企业wordpress每页显示文章 石家庄科技中心网站小程序代理商好做吗 茂港手机网站建设公司密码管理 .net做网站的优缺点百度排名软件 重庆网站自己推广网站开发怎么入账 做线上网站的风险分析社区源码app 新余集团网站建设塘厦企业网站推广公司 首饰设计网站大全班级网站制作模板 广州学建设网站网站管理工作一般包括 江阴企业网站建设哪家好自建导航站wordpress 做网站电子版报价模板金华网站建设平台 做外贸的网站看啥书网站建设指南 菜鸟教程 网站外部链接万网个人网站备案查询 网站可以做砍价软件吗深圳seo优化培训 建设银行新加坡分行网站建发公司简介 开源建站系统cms关键词优化排名查询 网站制作具体步骤设计公司企业计划书 c语言网站石狮建设银行网站 网站小图标素材下载网站交互是什么