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

网站的动画效果代码seo工具优化软件

网站的动画效果代码,seo工具优化软件,深圳做网站推广的公司哪家好,怎么建个私人网站1、前言 从这一节开始#xff0c;我们将一起学习设计模式。我们的学习目标是什么呢#xff1f; 了解常用设计模式以及它们的使用场景#xff1b;分析实际工程中设计模式的使用#xff0c;揣摩实际意图#xff0c;了解作者设计思路#xff1b;尝试运用设计模式迭代、重构…1、前言 从这一节开始我们将一起学习设计模式。我们的学习目标是什么呢 了解常用设计模式以及它们的使用场景分析实际工程中设计模式的使用揣摩实际意图了解作者设计思路尝试运用设计模式迭代、重构自己的代码提升软件架构设计思路。 最近在阅读 Android 源码时常碰到代码中有一些巧妙的写法简单的如 MediaPlayerService 中的 IFactory我知道它是工厂模式但是却不十分清楚它为什么这么用复杂点的如 NuPlayer 中的 DeferredActions 机制我只能慢慢揣摩它是如何工作的最终也能琢磨出个大差不差有些特点不太鲜明的如 NuPlayer Source 中的 wrapper我就不是很理解它为什么要这么写了。 学习一些优秀的工程源码实现时常常因为不理解其中这些设计的思路觉得作者写的晦涩难懂有的时候猛然揣摩出作者的用意又觉得豁然开朗。很多时候即使我们知道了一些设计或者写法但是并不一定能够灵活运用为了让初学者能够写出更优秀的代码前人整理整理出了写作过程中常用的技巧和设计模式深入学习和思考设计模式无论是对代码阅读还是写作都是大有裨益的。 2、UML 类图 庞大的工程往往具有相当多且复杂的类阅读这些类时我们常常会用 UML 类图来展示复杂的类关系以下是一个简单的 UML 类图示例 车是一个抽象类汽车继承于车它和车的关系为实现关系使用带空心箭头的虚线表示轿车和汽车之间也是继承关系它们之间的关系为泛化关系使用带空心箭头的实线表示发动机与汽车之间是组合关系使用带实心箭头的实线表示学生与班级之间是聚合关系使用带空心箭头的实线表示学生和校园卡之间为关联关系使用带箭头的实线表示学生上学要用自行车与自行车是一种依赖关系使用带箭头的虚线表示 3、类之间的关系 3.1、实现关系 实现关系指的是将抽象概念变成现实实现。拿上面的示例来说我们只知道车可以移动但是不知道车长什么样子要如何移动所以它只是一个概念。汽车包含有发动机、变速箱等组件踩油门就可以移动自行车两个轮胎一个把手用脚踩就可以移动。汽车和自行车将虚无的抽象概念变成现实所以用带虚线的箭头表示实现关系。 在代码中实现关系表现为继承抽象类。 3.2、泛化关系 泛化关系指的是具体事物的不同形态。同样拿车为例子我们已经知道车由变速箱、发动机等组成但是它们仍可以组成不同的形态如轿车和SUV它们都属于汽车但是又有各自的特点。 在代码中泛化关系表现为继承非抽象类 以 MediaPlayerInterface.h 为例MediaPlayerInterface 继承于 MediaPlayerBase并且实现了 hardwareOutput这个关系是属于实现还是泛化关系呢 个人以为是泛化关系将 MediaPlayerBase 泛化为使用 software mixer 和 hardware output 两种 player。泛化关系常常会修改基类方法或者是新增对外接口可能会影响多态的使用需要做强转才能调用泛化类的新接口。 例如 MediaPlayerBase 在实际使用中需要做强制转换才能实现 setAudioSink 的调用。 spMediaPlayerBase p createPlayer(playerType);if (!p-hardwareOutput()) {mAudioOutput new AudioOutput(mAudioSessionId, mAttributionSource,mAudioAttributes, mAudioDeviceUpdatedListener);static_castMediaPlayerInterface*(p.get())-setAudioSink(mAudioOutput);}泛化关系见的比较少下次碰见再补充到这里。 3.3、聚合关系 聚合关系指的是整体和个体整体由个体组成但是整体不存在并不会影响个体。例如 buffer list 和 buffer 的关系buffer 可以组成 buffer listbuffer list 不存在并不会影响 buffer。 3.4、组合关系 组合关系表示的是部分和整体的关系它和聚合关系由比较大的区别组合关系的整体不存在了部分也就不存在了反之也一样。 可能有的人会不理解什么叫“整体不存在了部分也就不存在了部分不存在了整体也不存在了”这里以 ACodec.h 为例ACodec 中有一个 mBufferChannel 成员ACodec 销毁了那么 mBufferChannel 也就随之销毁了这里体现的就是组合关系如果 mBufferChannel 销毁了那么 ACodec 自然也就无法工作了。 之前看汽车和发动机的例子会有一些疑惑明明发送机可以独立存在为什么它和汽车还是组合关系呢现在的理解是这样如果没有汽车也就没有发动机存在的必要了所以说是没有整体也就没有部分。 组合关系比聚合关系更加强烈用黑色箭头表示强烈程度。 在代码中聚合关系 和 组合关系通常以成员变量体现出来具体属于哪一种还需要自己揣摩。 3.5、关联关系 个人理解关联关系表示的是拥有比如说学生拥有自行车那么学生就和自行车有了关联。 在代码中关联关系同样是以成员变量体现出来但是属于拥有的关系和上面的组合与聚合不一样它们本不相关并不需要自行车才能够组成一个人。 3.6、依赖关系 依赖关系表示的是调用的关系它是一种临时性关系在代码中体现为参数传入。再举个例子学生每天骑共享单车上学车不属于学生但是学生每天需要使用自行车这就属于依赖关系。如果学生有了车那么可能就要归类于关联关系了。 好了以上就是我对 UML 图绘制以及类之间关系的个人理解如果有误欢迎指出~
http://www.pierceye.com/news/654469/

相关文章:

  • 网站 模块wordpress极简风
  • 驻马店网站制作建筑施工特种证书查询入口官网
  • 四川网站建设公司电话网站的空间和域名备案
  • 海南网站建设方案django和WordPress哪个好
  • 已经有域名如何做网站手机优化加速有什么用
  • ps手机网站制作wordpress 嵌入pdf
  • 免费微网站建站系统源码网站登录流程
  • 有声直播网站建设做网站互联网公司排名
  • 如何判断网站是用什么程序做的网站建设岗位能力评估表
  • 怀来住房和城乡建设局网站可以下载的建站网站
  • 太原网站制作电话php网站作业模版
  • 网站建设 需求江西省赣州市南康家具城
  • 可以玩小游戏的网站百度地图推广电话
  • 设计师个人作品集网站阳泉市住房保障和城乡建设管理局网站
  • 国外的网站模板类网站网络营销应该这样做
  • 文登市住房和城乡建设局网站山东定制网页建站
  • 北京优化词网站晋城企业网站建设
  • 商城网站 个人备案建设工程质量监理协会网站
  • 易企cms网站模板广告设计与制作好找工作吗
  • wordpress建站容易吗食品饮料网站源码
  • 做网站还有市场吗建一个网站花费
  • 惠州网站建设哪里有wap网站生成
  • 长沙网站外包公司吗搭建wordpress博客系统
  • 通州企业网站建设做网站合成APP
  • 深圳观澜网站建设室内设计软件手机版
  • 苏州建设网站服务国外做家装的网站有哪些
  • 做导航网站赚钱吗大兴区营销网络推广行业
  • 红衫中国网站建设福建手机版建站系统开发
  • 做平面的网站wordpress授权主题
  • 如何做织梦论坛类的网站官网建设目的