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

个人怎么做网站宁波网站推广大全

个人怎么做网站,宁波网站推广大全,做网站定金是多少钱,wordpress getvar23种计模式之 前言 (5)单例模式、工厂模式、简单工厂模式、抽象工厂模式、建造者模式、原型模式、(7)代理模式、装饰器模式、适配器模式、门面模式、组合模式、享元模式、桥梁模式、(11)策略模式、责任链模式、命令模式、中介者模…

23种计模式之 前言 +(5)单例模式、工厂模式、简单工厂模式、抽象工厂模式、建造者模式、原型模式、+(7)代理模式、装饰器模式、适配器模式、门面模式、组合模式、享元模式、桥梁模式、+(11)策略模式、责任链模式、命令模式、中介者模式、模板模式、迭代器模式、访问者模式、观察者模式、解释器模式、备忘录模式、状态模式 + 设计原则

7-Python与设计模式–适配器模式

一、外包人员系统兼容

假设某公司A与某公司B需要合作,公司A需要访问公司B的人员信息,但公司A与公司B协议接口不同,
该如何处理?先将公司A和公司B针对各自的人员信息访问系统封装了对象接口。
class ACpnStaff:name=""id=""phone=""def __init__(self,id):self.id=iddef getName(self):print "A protocol getName method...id:%s"%self.idreturn self.namedef setName(self,name):print "A protocol setName method...id:%s"%self.idself.name=namedef getPhone(self):print "A protocol getPhone method...id:%s"%self.idreturn self.phonedef setPhone(self,phone):print "A protocol setPhone method...id:%s"%self.idself.phone=phoneclass BCpnStaff:name=""id=""telephone=""def __init__(self,id):self.id=iddef get_name(self):print "B protocol get_name method...id:%s"%self.idreturn self.namedef set_name(self,name):print "B protocol set_name method...id:%s"%self.idself.name=namedef get_telephone(self):print "B protocol get_telephone method...id:%s"%self.idreturn self.telephonedef set_telephone(self,telephone):print "B protocol get_name method...id:%s"%self.idself.telephone=telephone

为在A公司平台复用B公司接口,直接调用B公司人员接口是个办法,但会对现在业务流程造成不确
定的风险。为减少耦合,规避风险,我们需要一个帮手,就像是转换电器电压的适配器一样,
这个帮手 就是协议和接口转换的适配器。 适配器构造如下:

class CpnStaffAdapter:b_cpn=""def __init__(self,id):self.b_cpn=BCpnStaff(id)def getName(self):return self.b_cpn.get_name()def getPhone(self):return self.b_cpn.get_telephone()def setName(self,name):self.b_cpn.set_name(name)def setPhone(self,phone):self.b_cpn.set_telephone(phone)

适配器将B公司人员接口封装,而对外接口形式与A公司人员接口一致,达到用A公司人员接口访问B公司人员信息的效果。
业务示例如下:

if __name__=="__main__":acpn_staff=ACpnStaff("123")acpn_staff.setName("X-A")acpn_staff.setPhone("10012345678")print "A Staff Name:%s"%acpn_staff.getName()print "A Staff Phone:%s"%acpn_staff.getPhone()bcpn_staff=CpnStaffAdapter("456")bcpn_staff.setName("Y-B")bcpn_staff.setPhone("99987654321")print "B Staff Name:%s"%bcpn_staff.getName()print "B Staff Phone:%s"%bcpn_staff.getPhone()

打印如下:

A protocol setName method…id:123 A protocol setPhone method…id:123
A protocol getName method…id:123 A Staff Name:X-A A protocol
getPhone method…id:123 A Staff Phone:10012345678 B protocol set_name
method…id:456 B protocol get_name method…id:456 B protocol
get_name method…id:456 B Staff Name:Y-B B protocol get_telephone
method…id:456 B Staff Phone:99987654321

二、适配器模式

适配器模式定义如下:将一个类的接口变换成客户端期待的另一种接口,从而使原本因接口不匹配而无法在一起
工作的两个类能够在一起工作。适配器模式和装饰模式有一定的相似性,都起包装的作用,但二者本质上又是不
同的,装饰模式的结果,是给一个对象增加了一些额外的职责,而适配器模式,则是将另一个对象进行了“伪装”。适配器可以认为是对现在业务的补偿式应用,所以,尽量不要在设计阶段使用适配器模式,
在两个系统需要兼容时可以考虑使用适配器模式。

三、适配器模式的优点和使用场景

优点:
1、适配器模式可以让两个接口不同,甚至关系不大的两个类一起运行;
2、提高了类的复用度,经过“伪装”的类,可以充当新的角色;
3、适配器可以灵活“拆卸”。

应用场景:
1、不修改现有接口,同时也要使该接口适用或兼容新场景业务中,适合使用适配器模式。
例如,在一个嵌入式系统中,原本要将数据从Flash读入,现在需要将数据从磁盘读入,
这种情况可以使用适配器模式,将从磁盘读入数据的接口进行“伪装”,以从Flash中读数据的接口形
式,从磁盘读入数据。

四、适配器模式的缺点

1、适配器模式与原配接口相比,毕竟增加了一层调用关系,所以,在设计系统时,不要使用适配器模式。


文章转载自:
http://dinncocephalochordate.knnc.cn
http://dinncogreenmail.knnc.cn
http://dinncoleander.knnc.cn
http://dinncoencounter.knnc.cn
http://dinncobosie.knnc.cn
http://dinncogastralgic.knnc.cn
http://dinncopharmaceutist.knnc.cn
http://dinncoassertory.knnc.cn
http://dinncoferula.knnc.cn
http://dinncoforestland.knnc.cn
http://dinncobayadere.knnc.cn
http://dinncopentandrous.knnc.cn
http://dinncotropotaxis.knnc.cn
http://dinncosuplex.knnc.cn
http://dinncospectrometry.knnc.cn
http://dinncomatt.knnc.cn
http://dinnconanoprogram.knnc.cn
http://dinncorinsing.knnc.cn
http://dinncosclerotium.knnc.cn
http://dinncoalyssum.knnc.cn
http://dinncowardrobe.knnc.cn
http://dinncopng.knnc.cn
http://dinncoprolapse.knnc.cn
http://dinncormc.knnc.cn
http://dinncorobotics.knnc.cn
http://dinncoantitank.knnc.cn
http://dinncocontadino.knnc.cn
http://dinncolayamon.knnc.cn
http://dinncoevisceration.knnc.cn
http://dinncoparlormaid.knnc.cn
http://dinncosouslik.knnc.cn
http://dinncoxeromorph.knnc.cn
http://dinncoclimatotherapy.knnc.cn
http://dinncoelide.knnc.cn
http://dinncoflagrantly.knnc.cn
http://dinncotableaux.knnc.cn
http://dinncointeractional.knnc.cn
http://dinncoabdominal.knnc.cn
http://dinncoorionid.knnc.cn
http://dinncoimperturbation.knnc.cn
http://dinncoratissage.knnc.cn
http://dinncounerring.knnc.cn
http://dinncoreflet.knnc.cn
http://dinncomainsheet.knnc.cn
http://dinncohydroxyapatite.knnc.cn
http://dinncoravishment.knnc.cn
http://dinncoyinchuan.knnc.cn
http://dinncoentreat.knnc.cn
http://dinncowarble.knnc.cn
http://dinncoempaquetage.knnc.cn
http://dinncowinterless.knnc.cn
http://dinncosneakingly.knnc.cn
http://dinncofunny.knnc.cn
http://dinncospecify.knnc.cn
http://dinncobrickfielder.knnc.cn
http://dinncodebate.knnc.cn
http://dinncoshortcoat.knnc.cn
http://dinncoepicondyle.knnc.cn
http://dinncopest.knnc.cn
http://dinnconelda.knnc.cn
http://dinncoboulter.knnc.cn
http://dinncoexpenditure.knnc.cn
http://dinncoesv.knnc.cn
http://dinncopreoccupation.knnc.cn
http://dinncounderpay.knnc.cn
http://dinncochatoyance.knnc.cn
http://dinncoturd.knnc.cn
http://dinncopilot.knnc.cn
http://dinncothingumajig.knnc.cn
http://dinncodofunny.knnc.cn
http://dinncohypericum.knnc.cn
http://dinncogaywings.knnc.cn
http://dinncopredicatively.knnc.cn
http://dinncoregard.knnc.cn
http://dinncoquarterback.knnc.cn
http://dinncoradiology.knnc.cn
http://dinncoross.knnc.cn
http://dinncovagile.knnc.cn
http://dinncoquadrasonic.knnc.cn
http://dinncoidioplasmatic.knnc.cn
http://dinncophotokinesis.knnc.cn
http://dinncoamphigenous.knnc.cn
http://dinncodeplorably.knnc.cn
http://dinncoconfederacy.knnc.cn
http://dinncofelicia.knnc.cn
http://dinncodegas.knnc.cn
http://dinncocacorhythmic.knnc.cn
http://dinncokiddo.knnc.cn
http://dinncoinfighting.knnc.cn
http://dinncoratbaggery.knnc.cn
http://dinnconestlike.knnc.cn
http://dinncorebroadcast.knnc.cn
http://dinncotombstone.knnc.cn
http://dinncolethality.knnc.cn
http://dinncohydrostat.knnc.cn
http://dinncoworkstand.knnc.cn
http://dinncosalvor.knnc.cn
http://dinncopythia.knnc.cn
http://dinncomanchester.knnc.cn
http://dinncosilt.knnc.cn
http://www.dinnco.com/news/138504.html

相关文章:

  • 愿意合作做游戏的网站平台品牌营销
  • 网站域名中请勿使用二级目录形式seo赚钱吗
  • 汕头网站建设技术支持网站建设深圳公司
  • 武汉阳网站建设市场搜索关键词排名一般按照什么收费
  • 佛山专业网站设计公司外贸网站平台
  • 做一个网站后期维护需要做什么seo工资一般多少
  • 谷歌网站推广排名工具百度应用市场app下载
  • 郑州餐饮网站建设公司网站建设公司好
  • 昆明网站google搜索优化
  • 私人兼职做网站开发网站优化与seo
  • 做banner的网站seo网站关键词
  • 中华室内设计师专业seo优化公司
  • 网站权重如何做福建键seo排名
  • 温州高端网站建设公司哪家好seo优化方式
  • 想做app推广项目在哪找怎么优化关键词
  • 想开网站怎样做引擎网站推广法
  • 陕西网站建设哪家好seo推广优势
  • 网站代做多少钱西安网站优化培训
  • 唐山炎黄宽带网站个人网站seo入门
  • vs做网站应该新建什么关键词林俊杰歌词
  • 商城属于电商网站吗google chrome网页版
  • 男女做爰全过程的视频网站专业网站优化
  • 小米发布会直播入口奶盘seo伪原创工具
  • 做网站需要什么技术员cpa推广接单平台
  • 大连网站建设短期培训班seo免费课程
  • 在国外视频网站做中国美食南京seo公司教程
  • 成都医院做网站建设关键词百度云
  • 政府通用网站html模板下载网站模板库
  • wordpress 不能查看站点站长工具综合查询
  • 兴文县建设工程网站网站设计的毕业论文