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

做网站网站推广赚佣金网站商城功能模块

做网站网站推广赚佣金,网站商城功能模块,关于 建设 二级网站,php网站部署步骤目录 1.概述2.类图3.应用场景及优缺点3.1 应用场景3.2 优缺点3.2.1 优点3.2.2 缺点 4.实现4.1 案例类图4.2 代码实现4.2.1 定义抽象构建角色4.2.2 定义具体构建角色4.2.3 定义抽象装饰器角色4.2.4 定义具体装饰角色4.2.5 装饰器模式的使用 1.概述 装饰器模式是指在不改变现有对… 目录 1.概述2.类图3.应用场景及优缺点3.1 应用场景3.2 优缺点3.2.1 优点3.2.2 缺点 4.实现4.1 案例类图4.2 代码实现4.2.1 定义抽象构建角色4.2.2 定义具体构建角色4.2.3 定义抽象装饰器角色4.2.4 定义具体装饰角色4.2.5 装饰器模式的使用 1.概述 装饰器模式是指在不改变现有对象结构的情况下动态的给对象增加一些职责。它是一种用于替代继承的技术通过一种无需定义子类的方式给对象动态增加职责使用对象之间的关联关系取代类之间的继承关系。装饰器模式通过引入一个装饰类在装饰类中既可以调用待装饰的原有类的方法还可以增加新的方法达到扩展原有功能的目的。例如造一个交通工具这种交通工具刚开始时只能是在陆地上跑也就是咱们的汽车但是随着技术的发展我们可以给我们的汽车增加在水中移动的功能或者是在天上飞的功能。这就是装饰器模式的场景之一。后面会用Java语言的代码来实现这个例子。 2.类图 装饰器模式的主要角色有如下几个 抽象构建角色(Component) 定义一个抽象接口规范准备接收附加责任的对象 具体构建角色(ConcreteComponent): 实现抽象构建角色定义的接口。通过装饰器角色为其添加职责 抽象装饰器角色(Decorator) 实现抽象构建中定义的接口并包含具体构建角色的实例可以通过其子类扩展具体构建角色实例的功能 具体装饰角色(ConcreteDecorator1、ConcreteDecorator2) 实现抽象装饰的相关方法并给具体构建角色添加新的职责(功能) 3.应用场景及优缺点 3.1 应用场景 当不能采用继承的方式扩展功能或者是采用继承的方式扩展功能时不好维护的情况下就可以使用装饰器模式。比如一个功能的定义时就有基础版加强版VIP版本等基于基础功能扩展出新功能的情况下我们就可以采用装饰器模式。因为装饰器模式完全遵守开闭原则即对修改关闭对扩展开放。 3.2 优缺点 3.2.1 优点 装饰器模式的优点有四个如下 对于扩展对象的功能装饰器模式比继承更加灵活因为装饰器模式不会导致类的个数急剧增加。使用装饰器模式可以让我们通过一种动态的方式扩展一个对象的功能比如我们可以通过配置文件在运行的时候选择不同的具体装饰类从而实现不同的行为装饰器可以对一个对象进行多次装饰具体构建类与具体装饰类可以独立变化用户可以更具需要增加的具体构建类和具体装饰类。符合开闭原则 3.2.2 缺点 装饰器模式的缺点主要有两个如下 使用装饰器模式进行系统设计时将会产生很多小对象大量的小对象会占用更多的系统资源在一定程度上会影响程序的性能装饰器模式使用起来比继承更容易出错排除错误也会更困难特别是对于多次装饰的对象调试时寻找错误可能需要逐级排查。 4.实现 我们以一个汽车改造成水陆两用汽车陆空两用汽车的例子介绍装饰器模式在程序中的实现我们用Java语言实现。 假设我们要造一个代步的交通工具这个交通工具第一版本只需要在陆地上跑就行也就是我们的汽车然后随着技术增长我们需要为我们的汽车扩展在水中行驶的能力和在空中飞行的能力使用Java代码实现如下所示 4.1 案例类图 4.2 代码实现 4.2.1 定义抽象构建角色 首先我们定义一个ITransportation接口实现我们交通工具的基本能力—移动这个接口就是我们装饰器模式中的抽线构建角色 public interface ITransportation {void move(); } 4.2.2 定义具体构建角色 定义好抽象构建角色后我们就可以定义具体构建角色也就是我们的汽车类了在汽车类里实现了抽象构建角色定义的功能 public class Car implements ITransportation {public Car(){System.out.println(我只是单纯的一辆车);}Overridepublic void move() {System.out.println(我可以在陆地上移动);} }4.2.3 定义抽象装饰器角色 接下来就需要定义抽象装饰器角色准备扩展功能为了能扩展汽车的能力我们提供了一个Transformer类这个类也实现了抽象构建角色中的ITransportation接口并且将抽象构建角色对应的具体构建角色通过构造函数注入到Transformer类中这里的Transformer类就相当于抽象装饰器角色。我们需要的扩展功能后的对象都需要继承它。 public class Transformer implements ITransportation {private final ITransportation mTransportation;public Transformer(ITransportation transportation){this.mTransportation transportation;}Overridepublic void move() {mTransportation.move();} }4.2.4 定义具体装饰角色 具体装饰角色有两个分别是水陆两用的汽车AmphibiousCar 陆空两用的汽车FlyingCar在这两个具体装饰角色中添加了各自的特色功能。 public class AmphibiousCar extends Transformer{public AmphibiousCar(ITransportation transportation) {super(transportation);System.out.println(我是水陆两用汽车);}public void moveInWater(){System.out.println(我可以在水里跑);} }public class FlyingCar extends Transformer{public FlyingCar(ITransportation transportation) {super(transportation);System.out.println(我是陆空两用汽车);}public void flying(){System.out.println(我可以在天上飞);} }4.2.5 装饰器模式的使用 使用时我们先通过抽象构建角色创建出具体构建角色的对象这个对象时需要被装饰的对象然后将其传递到陆空两用车类的构造函数中和水陆两用车类的构造函数中分别创建出陆空两用车的对象水陆两用车的对象。然后调用对应的方法实现各自的能力 public class Client {public static void main(String[] args) {ITransportation myCar new Car();myCar.move();System.out.println();System.out.println(陆空两用车);FlyingCar flyingCar new FlyingCar(myCar);flyingCar.move();flyingCar.flying();System.out.println(水陆两用车);AmphibiousCar amphibiousCar new AmphibiousCar(myCar);amphibiousCar.move();amphibiousCar.moveInWater();} }运行结果如下所示
http://www.w-s-a.com/news/128889/

相关文章:

  • 如何控制一个网站软件开发wordpress教育插件
  • 网站开发属于软件开发类吗wordpress邮件失败
  • 凡科网站怎么设计win8网站模板
  • 深圳整站seo个人网站建设一般流程
  • 济南网站中企动力wordpress主题ripro
  • 淮北网站建设求职简历怎么做点击图片进网站
  • 自适应网站推广注册公司流程和费用公司注册
  • 电子商务网站建设预算表网站建设卩金手指科杰
  • 广西响应式网站哪家好产品网络推广怎样做
  • 移动网可以上的网站是什么样子的淘宝优惠券网站开发
  • wordpress php设置伊宁seo网站建设
  • 兰陵住房建设局网站wordpress中文标题
  • 福州搜索优化网站个人网页网站制作模板
  • 网站开发分哪几个步骤使用wordpress开发一个页面跳转
  • 网站制作后还能更改么wordpress 近期文章 代码
  • 做一个小网站需要多少钱wordpress集成paypal
  • 加强网站建设管理 及时更新自己设计装修的app
  • 集团网站设计案例网页制作网站开发
  • 怎么优化网站的单个关键词排名惠州品牌网站建设
  • 上海跨境电商网站制作wordpress弃用react
  • phpcms网站模版下载电商网站建设属于研发费用吗
  • 动画毕业设计代做网站高校门户网站建设需要多少钱
  • 网站内链设置wordpress前台特别慢
  • 杭州模板网站建设系统江苏省建设考试网站准考证打印
  • 国家建设执业资格注册中心网站企业手机网站建设机构
  • 内容管理系统做网站怎么做英文版的网站
  • 浙江省专业网站制作网站建设网站设计及内容策划
  • 浙江门户网站建设公司做网站上哪买空间
  • 郑州网站怎么推广贵阳市网站建设
  • 规范网站建设福州外贸网站建设推广