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

学做早餐网站网站开发用了哪些技术

学做早餐网站,网站开发用了哪些技术,小米应用商店安装下载,规范网络直播平台的可行性建议装饰模式 装饰模式角色案例装饰模式与静态代理的区别 装饰模式 允许向一个现有的对象动态地添加新的功能#xff0c;同时不改变其结构。它是继承的一种替代方案#xff0c;可以动态地扩展对象。有点像静态代理 角色 装饰者模式有四种角色 抽象被装饰者#xff0c;被装饰者… 装饰模式 装饰模式角色案例装饰模式与静态代理的区别 装饰模式 允许向一个现有的对象动态地添加新的功能同时不改变其结构。它是继承的一种替代方案可以动态地扩展对象。有点像静态代理 角色 装饰者模式有四种角色 抽象被装饰者被装饰者装饰者和抽象被装饰者 抽象被装饰者一般是一个接口包含需要被装饰的方法被装饰者实现 抽象被装饰者 接口代表被装饰的原始对象。抽象装饰者继承或实现抽象被装饰者内部含有一个 抽象被装饰者的属性调用或增强 被装饰者的方法装饰者实现抽象装饰者的方法给被装饰对象增加具体的职责 案例 今天不开包子店想开一家奶茶店。产品有普通奶茶为了奶茶种类丰富需要支持添加多种小料椰果芋圆等且可以自由组合。 根据要求先建立起基础类 接口 Tea用来表示 抽象被装饰类MilkTea 用来表示 被装饰类 /*** 抽象被装饰者**/ public interface Tea {String getName();int getPrice(); }/*** 被装饰者奶茶**/ public class MilkTea implements Tea{Overridepublic String getName() {return 奶茶;}Overridepublic int getPrice() {return 10;} }分析下问题想要支持可以自由组合的方式来 增强奶茶类普通的继承和组合 很难实现。所以才使用装饰者模式 下面是装饰者的代码 /*** 抽象装饰者奶茶小料**/ public abstract class AbsDecoratorIngredients implements Tea{final private Tea tea;public AbsDecoratorIngredients(Tea tea) {this.tea tea;}Overridepublic int getPrice() {//执行目标对象原本的行为return tea.getPrice();}Overridepublic String getName() {//执行目标对象原本的行为return tea.getName();} } /*** 装饰者椰果**/ public class DecoratorCoconut extends AbsDecoratorIngredients{public DecoratorCoconut(Tea tea) {super(tea);}Overridepublic int getPrice() {/*被装饰者的价格 当前椰果的价格*/return super.getPrice() 2;}Overridepublic String getName() {return super.getName() 椰果;} }/*** 装饰者芋圆**/ public class DecoratorTaroBall extends AbsDecoratorIngredients{public DecoratorTaroBall(Tea tea) {super(tea);}Overridepublic int getPrice() {/*被装饰者的价格 当前椰果的价格*/return super.getPrice() 2;}Overridepublic String getName() {return super.getName() 椰果;} }测试代码 public class DecoratorTest {public static void main(String[] args) {/*给我一杯奶茶*/System.out.println(给我一杯奶茶);Tea milkTea new MilkTea();System.out.println(milkTea.getName() milkTea.getPrice());/*给我一杯珍珠奶茶*/System.out.println(给我一杯珍珠奶茶);milkTea new DecoratorTaroBall(milkTea);System.out.println(milkTea.getName() milkTea.getPrice());/*给我一杯珍珠椰果奶茶*/System.out.println(给我一杯珍珠椰果奶茶);milkTea new DecoratorCoconut(milkTea);System.out.println(milkTea.getName() milkTea.getPrice());} }输出 给我一杯奶茶 奶茶 10 给我一杯珍珠奶茶 奶茶 椰果 12 给我一杯珍珠椰果奶茶 奶茶 椰果 椰果 14看到这里可能有人发现 抽象装饰者类 好像可以省略。 是的这个例子是可以省略的 这里只是写的 装饰者模式的标准写法。使用一个抽象装饰者 是为了 将 抽象被装饰者 和 装饰者 解耦。 一旦把 抽象装饰者省略大家可能发现这个写法是不是很眼熟是不是很像 静态代理。 其实 设计模式 就是这样23种设计模式只是应对不同的场景不同的设计模式总会有相似之处。 设计模式来源于设计原则万变不离其宗稍微变换下就是另一种设计模式。 下面看下 装饰和静态代理的区别 装饰模式与静态代理的区别 装饰模式目标对象由外界传入目的是为了增强该对象 静态代理目标对象由内部生成目的是隐藏和保护该对象 装饰模式一般会迭代传入不同的对象一步一步的增强方法 静态代理一般只传入一个对象只调用一层
http://www.hkea.cn/news/14408197/

相关文章:

  • 网站做关键词排名大数据网站怎么做
  • 邢台做wap网站多少钱宣传推广图片
  • 韩国食品网站设计欣赏区域名查询
  • 港口建设征收 申报网站网站生成移动版
  • 网站 备案 哪个省做调查问卷的网站知乎
  • 知乎 做照片好的网站做短视频网站
  • 商城建设公司宁波百度快照优化排名
  • wordpress免费中文搜索优化排名
  • 网站前台怎么做做网站能自己找服务器吗
  • 整站优化价格河北建设工程信息网换成什么网址了
  • 做网站推广工作赚钱吗wordpress使用文档
  • 为什么辽宁省城乡建设厅网站打不开网站源码制作
  • 做网站广告语网站开通宣传怎么写
  • 企业网站icp备案与网站建设关系密切的知识点
  • 我想注册网站怎么做泉州网站建设费用
  • 高流量网站设计在线广告设计与制作
  • 做搜狗网站优化首wordpress页面显示错乱
  • 江苏个人网站备案要求建设网站 目标
  • 重庆建设人才网站建设一个网站的流程
  • ru如何制作网站wordpress中英文标题
  • 营销网站结构西安小程序搭建
  • 营口市住房建设保障办官方网站企业网站建设 cms
  • 廊坊建设网站智慧餐厅管理系统
  • 某网站seo诊断分析赣州企业网站建设
  • 做网站要学的知识wordpress邮件发文章
  • 哈尔滨网站关键字优化选择建设网站公司要注意什么
  • 外贸网站如何推广优化白云区pc端网站建设
  • 网站设计评级网络游戏排行榜2020
  • 做网站的公司现在还 赚钱吗wordpress安装与使用说明
  • 成都 高端网站建设网站推广的目的是什么