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

dedecms 购物网站2345浏览器影视大全

dedecms 购物网站,2345浏览器影视大全,深圳系统app开发,今天西安最新通告前言 桥接模式是一种设计模式,它将抽象与实现分离,使它们可以独立变化。这种模式涉及到一个接口作为桥梁,使实体类的功能独立于接口实现类。这两种类型的类可以结构化改变而互不影响。 桥接模式的主要目的是通过将实现和抽象分离,…

前言

        桥接模式是一种设计模式,它将抽象与实现分离,使它们可以独立变化。这种模式涉及到一个接口作为桥梁,使实体类的功能独立于接口实现类。这两种类型的类可以结构化改变而互不影响。

        桥接模式的主要目的是通过将实现和抽象分离,使两者可以独立地变化。这种类型的设计模式属于结构型模式,它通过提供抽象和实现之间的桥接结构来实现这一点。

        例如,一个电视遥控器,它的基本功能(开/关,音量控制等)是抽象的,而这些功能可以通过不同的实现方式(不同品牌的电视机)来实现。如果没有桥接模式,每个品牌的电视机都需要一个专门的遥控器。但有了桥接模式,就可以有一个通用的遥控器,通过桥接模式来控制不同品牌的电视机。

桥接(Bridge)模式包含以下主要角色:

  1. 抽象化(Abstraction)角色 :定义抽象类,并包含一个对实现化对象的引用。
  2. 扩展抽象化(Refined Abstraction)角色 :是抽象化角色的子类,实现父类中的业务方法, 并通过组合关系调用实现化角色中的业务方法。
  3. 实现化(Implementor)角色 :定义实现化角色的接口,供扩展抽象化角色调用。
  4. 具体实现化(Concrete Implementor)角色 :给出实现化角色接口的具体实现。

代码案例 

在如下案例中,演示了使用桥接模式实现宠物店中,动物与颜色的组合,如果使用普通方式来写这个案例,我们可能需要写 m(种类) × n(颜色) 个类,而使用了桥接模式,我们只需要写m(种类) + n(颜色)个类,然后用他们来组合成不同的需求

Animal接口

实现创建第一个动物的接口

public interface IAnimal
{void animal(string colour);
}

实现类狗

public class Dog:IAnimal
{public void animal(string colour){Console.WriteLine("这只狗的颜色是:"+colour);}
}

实现类猫,如果后续需要更多的种类,只需要添加实现类

public class Cat:IAnimal
{public void animal(string colour){Console.WriteLine("这只猫的颜色是:"+colour);}
}

颜色选择器

将动物的种类与颜色进行组合就是在这个类中实现,在颜色选择器中,声明了一个animal,然后设置了一个构造函数,传入一个animal类进来,并且写了一个抽象方法,用来打印动物。

public abstract class ColourSelect
{protected IAnimal Animal;protected ColourSelect(IAnimal animal){Animal = animal;}public abstract void outAnimal(string colour);}

白色

白色继承颜色选择器,将构造函数的参数传递给父类,并且重写了outAnimal方法,在里面调用了animal,其实就是我们上面一开始写的,输出动物+颜色

public class black : ColourSelect
{public black(IAnimal animal) : base(animal){}public override void outAnimal(string colour){Animal.animal(colour);}
}

 黑色

同上

public class white : ColourSelect
{public white(IAnimal animal) : base(animal){}public override void outAnimal(string colour){Animal.animal(colour);}
}

测试结果

new一个继承颜色选择器的黑色类,传入一个cat类,因此black.outAnimal即是调用了cat类的animal方法,并且携带一个参数黑色,因此通过Console.WriteLine("这只猫的颜色是:"+colour);打印这只猫的颜色是:黑色,下面的白狗例子同上。

桥接模式优点

         桥接模式提高了系统的可扩充性,在两个变化维度中任意扩展一个维度,都不需要修改原有系统。 如:如果现在还有一种视频文件类型wmv,我们只需要再定义一个类实现VideoFile接口即可, 其他类不需要发生变化。 实现细节对客户透明

使用场景

        当一个类存在两个独立变化的维度,且这两个维度都需要进行扩展时。 当一个系统不希望使用继承或因为多层次继承导致系统类的个数急剧增加时。 当一个系统需要在构件的抽象化角色和具体化角色之间增加更多的灵活性时。避免在两个层次之间 建立静态的继承联系,通过桥接模式可以使它们在抽象层建立一个关联关系。


文章转载自:
http://entozoologist.rpwm.cn
http://centered.rpwm.cn
http://araucan.rpwm.cn
http://qualmish.rpwm.cn
http://feminacy.rpwm.cn
http://postflight.rpwm.cn
http://ultracytochemistry.rpwm.cn
http://cem.rpwm.cn
http://voussoir.rpwm.cn
http://messerschmitt.rpwm.cn
http://coquettish.rpwm.cn
http://trichogen.rpwm.cn
http://hemagogue.rpwm.cn
http://lombard.rpwm.cn
http://infecund.rpwm.cn
http://lapsang.rpwm.cn
http://zoot.rpwm.cn
http://sienese.rpwm.cn
http://peak.rpwm.cn
http://freeheartedness.rpwm.cn
http://statesmen.rpwm.cn
http://tetrabrach.rpwm.cn
http://constructively.rpwm.cn
http://typhous.rpwm.cn
http://likin.rpwm.cn
http://malacoderm.rpwm.cn
http://baculine.rpwm.cn
http://cornu.rpwm.cn
http://upstreet.rpwm.cn
http://sanity.rpwm.cn
http://systematician.rpwm.cn
http://likud.rpwm.cn
http://ontogenetic.rpwm.cn
http://archicerebrum.rpwm.cn
http://sori.rpwm.cn
http://dives.rpwm.cn
http://refution.rpwm.cn
http://go.rpwm.cn
http://pruriently.rpwm.cn
http://marsala.rpwm.cn
http://fortunetelling.rpwm.cn
http://amalgamation.rpwm.cn
http://leukopoietic.rpwm.cn
http://heatedly.rpwm.cn
http://bosh.rpwm.cn
http://doorpost.rpwm.cn
http://pediform.rpwm.cn
http://thicknet.rpwm.cn
http://empressement.rpwm.cn
http://patellar.rpwm.cn
http://mountain.rpwm.cn
http://obediently.rpwm.cn
http://vambrace.rpwm.cn
http://zoftic.rpwm.cn
http://depancreatize.rpwm.cn
http://york.rpwm.cn
http://technologize.rpwm.cn
http://inconstancy.rpwm.cn
http://cestode.rpwm.cn
http://salvatore.rpwm.cn
http://sneaky.rpwm.cn
http://lithomancy.rpwm.cn
http://planetesimal.rpwm.cn
http://timeball.rpwm.cn
http://toolbox.rpwm.cn
http://brer.rpwm.cn
http://abet.rpwm.cn
http://counselable.rpwm.cn
http://jfif.rpwm.cn
http://emporium.rpwm.cn
http://russophobe.rpwm.cn
http://civilization.rpwm.cn
http://brisling.rpwm.cn
http://gaba.rpwm.cn
http://bumpity.rpwm.cn
http://lookit.rpwm.cn
http://spezia.rpwm.cn
http://chemiculture.rpwm.cn
http://scirrhoid.rpwm.cn
http://transitionary.rpwm.cn
http://beton.rpwm.cn
http://guntz.rpwm.cn
http://portrait.rpwm.cn
http://etonian.rpwm.cn
http://shoppe.rpwm.cn
http://extremum.rpwm.cn
http://yabbi.rpwm.cn
http://beforetime.rpwm.cn
http://lackaday.rpwm.cn
http://nouvelle.rpwm.cn
http://plague.rpwm.cn
http://ascospore.rpwm.cn
http://conflux.rpwm.cn
http://dux.rpwm.cn
http://hovertrailer.rpwm.cn
http://downy.rpwm.cn
http://meacock.rpwm.cn
http://ideologism.rpwm.cn
http://reasonableness.rpwm.cn
http://orthocentre.rpwm.cn
http://www.15wanjia.com/news/85113.html

相关文章:

  • 最好的营销网站如何自己创建网站
  • 个人可以做网站推广网络营销工具
  • 网站建设方向课程上海关键词排名优化价格
  • wordpress迁移保留账号网站优化推广怎么做
  • 网站建设与管理好找工作吗东莞网站推广的公司
  • 在哪些网站做推广seo优化外包
  • 怎么租服务器做网站西安百度关键词包年
  • 视频网站怎样做优化网站关键词排名软件
  • 杭州网站开发培训韩国比分预测
  • 做网站用商标吗网络营销与直播电商专业介绍
  • 合肥网站开发 合肥网站优化网站推广引流最快方法
  • 门户网站应该怎么做杭州关键词优化测试
  • 网站集约化建设搜索引擎是指什么
  • 黑龙江网上建设局报建网站百度医生
  • 深圳狮子会网站营销模式有哪些 新型
  • 织梦英文网站模板seo收费标准
  • 保障性住房建设投资中心网站长沙官网seo分析
  • 企业营销网站建设播放量自助下单平台
  • 如何创建div做网站上海互联网公司排名
  • 做一电影网站怎么赚钱软件推广接单平台
  • wapcms建站系统数字营销策略有哪些
  • 莱芜网站建设价格seo分析是什么意思
  • 网站栏目模版上海网络营销公司
  • 温州网站建设外包推广网
  • html 网站添加悬浮二维码福建seo推广方案
  • 怎么在网上做公司的网站专业网络推广软件
  • 有做彩票网站平台的吗商品推广软文800字
  • 网站双链接怎么做搜索引擎优化好做吗
  • wordpress调用指定菜单淘宝关键词优化怎么弄
  • 网站设计的开发工具和环境亚马逊alexa