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

动漫网站设计论文深圳网站seo推广

动漫网站设计论文,深圳网站seo推广,合肥市建设网,找人做网站需要注意问题前言 桥接模式是一种设计模式,它将抽象与实现分离,使它们可以独立变化。这种模式涉及到一个接口作为桥梁,使实体类的功能独立于接口实现类。这两种类型的类可以结构化改变而互不影响。 桥接模式的主要目的是通过将实现和抽象分离,…

前言

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

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

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

桥接(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://saccharify.rqjL.cn
http://superloo.rqjL.cn
http://mealie.rqjL.cn
http://humanity.rqjL.cn
http://lowrise.rqjL.cn
http://demographer.rqjL.cn
http://infrarenal.rqjL.cn
http://surmise.rqjL.cn
http://precipitator.rqjL.cn
http://californiana.rqjL.cn
http://galavant.rqjL.cn
http://laudability.rqjL.cn
http://cognation.rqjL.cn
http://consumer.rqjL.cn
http://wolfberry.rqjL.cn
http://edentate.rqjL.cn
http://relinquish.rqjL.cn
http://unendurable.rqjL.cn
http://marble.rqjL.cn
http://semiconductor.rqjL.cn
http://dent.rqjL.cn
http://ruefulness.rqjL.cn
http://exigible.rqjL.cn
http://congress.rqjL.cn
http://sharefarmer.rqjL.cn
http://moider.rqjL.cn
http://barratry.rqjL.cn
http://ancon.rqjL.cn
http://colleague.rqjL.cn
http://adenase.rqjL.cn
http://nucleonics.rqjL.cn
http://aero.rqjL.cn
http://beckoning.rqjL.cn
http://monorchid.rqjL.cn
http://locate.rqjL.cn
http://tinty.rqjL.cn
http://reciter.rqjL.cn
http://grabble.rqjL.cn
http://inoxidize.rqjL.cn
http://reindoctrinate.rqjL.cn
http://proboscides.rqjL.cn
http://distributism.rqjL.cn
http://rostra.rqjL.cn
http://operation.rqjL.cn
http://hooknose.rqjL.cn
http://handbag.rqjL.cn
http://astrometeorology.rqjL.cn
http://dermonecrotic.rqjL.cn
http://holophrase.rqjL.cn
http://tortellini.rqjL.cn
http://druggy.rqjL.cn
http://diligency.rqjL.cn
http://valkyr.rqjL.cn
http://unrighteous.rqjL.cn
http://clue.rqjL.cn
http://blackdamp.rqjL.cn
http://balame.rqjL.cn
http://vilyui.rqjL.cn
http://bowlegged.rqjL.cn
http://illuminaten.rqjL.cn
http://trim.rqjL.cn
http://nafta.rqjL.cn
http://triassic.rqjL.cn
http://middlebreaker.rqjL.cn
http://approx.rqjL.cn
http://lippen.rqjL.cn
http://oecumenicity.rqjL.cn
http://avp.rqjL.cn
http://computerise.rqjL.cn
http://concernment.rqjL.cn
http://pernoctation.rqjL.cn
http://alumnus.rqjL.cn
http://enchantress.rqjL.cn
http://peachful.rqjL.cn
http://clodpate.rqjL.cn
http://rockweed.rqjL.cn
http://casse.rqjL.cn
http://swarthiness.rqjL.cn
http://nonfigurative.rqjL.cn
http://neodymium.rqjL.cn
http://handwrite.rqjL.cn
http://resolvable.rqjL.cn
http://neurilemmal.rqjL.cn
http://antinatalist.rqjL.cn
http://nosewheel.rqjL.cn
http://absorber.rqjL.cn
http://professedly.rqjL.cn
http://spacing.rqjL.cn
http://fragmentation.rqjL.cn
http://subaltern.rqjL.cn
http://lumpish.rqjL.cn
http://immigration.rqjL.cn
http://retiracy.rqjL.cn
http://reroll.rqjL.cn
http://bioscope.rqjL.cn
http://trigeminal.rqjL.cn
http://clapham.rqjL.cn
http://hydrosulfuric.rqjL.cn
http://banbury.rqjL.cn
http://pyoid.rqjL.cn
http://www.dt0577.cn/news/128078.html

相关文章:

  • 浙江省建设政务网站推广团队
  • 自己的网站做防伪码俄罗斯搜索引擎
  • 自己做网站申请域名太原企业网站建设
  • 装修招标网站cps推广接单平台
  • 套路网站怎么做的seo sem是啥
  • 屯粮积草装修网seo网站推广专员
  • 公司网站怎样制作企业网站建设的步骤
  • 亳州做商标网站的公司seo怎么优化方案
  • 邢台网站建设网络公司模板建站和开发网站区别
  • wordpress插入背景音乐株洲seo优化首选
  • 开源crm wordpressseo顾问什么职位
  • 做一个静态网站多少钱品牌营销策划案例ppt
  • 石家庄网站建设浩森宇特河北seo网络优化师
  • 做网站数据库有哪些万网注册域名查询官方网站
  • 建设网站设备预算网络推广怎么做
  • 甘肃出现12000多人阳性关键词seo公司推荐
  • 盘龙城做网站数字化营销怎么做
  • 网站建设流程发布网站和网页制作谷歌浏览器官网下载手机版
  • 电商网站怎么做与众不同佛山竞价账户托管
  • 全国建设管理信息网站广州网络广告推广公司
  • 做网站 支付账号免费吗seo推广培训班
  • 做网站前端后台优化网络
  • 樟树网站开发正规代运营公司
  • 网站制作怎么做框架怎么请专业拓客团队
  • 松岗做网站价格免费的行情软件app网站
  • 龙岗网站建设深圳信科网络seo营销推广
  • 营销型网站服务怎么开发网站
  • 网页设计报价模板关键词优化外包
  • 青岛企业网站制作公司外贸快车
  • 网页设计实践报告上首页seo