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

招聘网站开发源码客户关系管理系统简称

招聘网站开发源码,客户关系管理系统简称,二级网站建设与管理会议,免费ppt模板下载大全完整版23种计模式之 前言 #xff08;5#xff09;单例模式、工厂模式、简单工厂模式、抽象工厂模式、建造者模式、原型模式、(7)代理模式、装饰器模式、适配器模式、门面模式、组合模式、享元模式、桥梁模式、#xff08;11#xff09;策略模式、责任链模式、命令模式、中介者模…23种计模式之 前言 5单例模式、工厂模式、简单工厂模式、抽象工厂模式、建造者模式、原型模式、(7)代理模式、装饰器模式、适配器模式、门面模式、组合模式、享元模式、桥梁模式、11策略模式、责任链模式、命令模式、中介者模式、模板模式、迭代器模式、访问者模式、观察者模式、解释器模式、备忘录模式、状态模式 设计原则 15-Python与设计模式–中介者模式 一、仓储管理系统 有一个手机仓储管理系统使用者有三方销售、仓库管理员、采购。需求是销售一旦达成订单销售人员会 通过系统的销售子系统部分通知仓储子系统仓储子系统会将可出仓手机数量减少同时通知采购管理子系统当 前销售订单仓储子系统的库存到达阈值以下会通知销售子系统和采购子系统并督促采购子系统采购 采购完成后采购人员会把采购信息填入采购子系统采购子系统会通知销售子系统采购完成 并通知仓库子系统增加库存。从需求描述来看每个子系统都和其它子系统有所交流在设计系统时如果直接在一个子系统中集成对另两个 子系统的操作一是耦合太大二是不易扩展。为解决这类问题我们需要引入一个新的角色-中介者-来将 “网状结构”精简为“星形结构”。为充分说明设计模式某些系统细节暂时不考虑例如仓库满了怎么办该 怎么设计。类似业务性的内容暂时不考虑首先构造三个子系统即三个类在中介者模式中这些类叫做同事些 class colleague():mediator Nonedef __init__(self,mediator):self.mediator mediator class purchaseColleague(colleague):def buyStuff(self,num):print PURCHASE:Bought %s%numself.mediator.execute(buy,num)def getNotice(self,content):print PURCHASE:Get Notice--%s%content class warehouseColleague(colleague):total0threshold100def setThreshold(self,threshold):self.thresholdthresholddef isEnough(self):if self.totalself.threshold:print WAREHOUSE:Warning...Stock is low... self.mediator.execute(warning,self.total)return Falseelse:return Truedef inc(self,num):self.totalnumprint WAREHOUSE:Increase %s%numself.mediator.execute(increase,num)self.isEnough()def dec(self,num):if numself.total:print WAREHOUSE:Error...Stock is not enoughelse:self.total-numprint WAREHOUSE:Decrease %s%numself.mediator.execute(decrease,num)self.isEnough() class salesColleague(colleague):def sellStuff(self,num):print SALES:Sell %s%numself.mediator.execute(sell,num)def getNotice(self, content):print SALES:Get Notice--%s % content当各个类在初始时都会指定一个中介者而各个类在有变动时也会通知中介者由中介者协调各个类的操作。 中介者实现如下 class abstractMediator():purchasesaleswarehousedef setPurchase(self,purchase):self.purchasepurchasedef setWarehouse(self,warehouse):self.warehousewarehousedef setSales(self,sales):self.salessalesdef execute(self,content,num):pass class stockMediator(abstractMediator):def execute(self,content,num):print MEDIATOR:Get Info--%s%contentif contentbuy:self.warehouse.inc(num)self.sales.getNotice(Bought %s%num)elif contentincrease:self.sales.getNotice(Inc %s%num)self.purchase.getNotice(Inc %s%num)elif contentdecrease:self.sales.getNotice(Dec %s%num)self.purchase.getNotice(Dec %s%num)elif contentwarning:self.sales.getNotice(Stock is low.%s Left.%num)self.purchase.getNotice(Stock is low. Please Buy More!!! %s Left%num)elif contentsell:self.warehouse.dec(num)self.purchase.getNotice(Sold %s%num)else:pass中介者模式中的execute是最重要的方法它根据同事类传递的信息直接协调各个同事的工作。 在场景类中设置仓储阈值为200先采购300再卖出120实现如下 if __name____main__:mobile_mediatorstockMediator()#先配置mobile_purchasepurchaseColleague(mobile_mediator)mobile_warehousewarehouseColleague(mobile_mediator)mobile_salessalesColleague(mobile_mediator)mobile_mediator.setPurchase(mobile_purchase)mobile_mediator.setWarehouse(mobile_warehouse)mobile_mediator.setSales(mobile_sales)mobile_warehouse.setThreshold(200)mobile_purchase.buyStuff(300)mobile_sales.sellStuff(120) 打印结果如下 PURCHASE:Bought 300 MEDIATOR:Get Info–buy WAREHOUSE:Increase 300 MEDIATOR:Get Info–increase SALES:Get Notice–Inc 300 PURCHASE:Get Notice–Inc 300 SALES:Get Notice–Bought 300 SALES:Sell 120 MEDIATOR:Get Info–sell WAREHOUSE:Decrease 120 MEDIATOR:Get Info–decrease SALES:Get Notice–Dec 120 PURCHASE:Get Notice–Dec 120 WAREHOUSE:Warning…Stock is low… MEDIATOR:Get Info–warning SALES:Get Notice–Stock is low.180 Left. PURCHASE:Get Notice–Stock is low. Please Buy More!!! 180 Left PURCHASE:Get Notice–Sold 120 二、中介者模式 中介者模式的定义为用一个中介对象封装一系列的对象交互。中介者使各对象不需要显式地互相作用 从而使其耦合松散并可以独立地改变它们之间的交互。三、中介者模式的优点和应用场景 优点 1、减少类与类的依赖降低了类和类之间的耦合 2、容易扩展规模。应用场景 1、设计类图时出现了网状结构时可以考虑将类图设计成星型结构这样就可以使用中介者模式了。 如机场调度系统多个跑道、飞机、指挥塔之间的调度、路由系统著名的MVC框架中其中的C Controller就是MModel和VView的中介者。四、中介者模式的缺点 1、中介者本身的复杂性可能会很大例如同事类的方法如果很多的话本例中的execute逻辑会很复杂
http://www.hkea.cn/news/14508019/

相关文章:

  • 英文网站模板源代码珠海网站建设优化
  • 网站调用优酷视频去广告工程项目管理软件免费版
  • 做毕业网站的流程wordpress icp涵数
  • 如何做商业网站推广360怎么做网站
  • 怎么样自己做网站制作相册影集的软件
  • 可信网站注册建站一般要多少钱
  • 网站模板下载网站有哪些内容wordpress 交流群
  • 简述企业网站的建设流程唐山做网站公司汉狮价格
  • 建设厅职业资格中心网站网站通栏代码
  • 网站改版的影响房产中介 网站模板
  • 开发网站报价方案wordpress编辑页面打不开
  • 团购网站模板 免费优秀平面广告设计
  • 重庆网站建设技术箱包官方网站模板
  • 茂南手机网站建设公司中国十大科技公司
  • 农业咨询平台网站建设方案微信公众号开发是否需要建立网站
  • win10 做网站服务器吗wordpress 改为中文字体
  • 南浦电商网站建设全屋定制十大名牌品牌
  • 网站开发一般用的字体类型网络软文案例
  • 如何做打码网站wordpress怎么备份
  • 张掖网站建设公司免费wordpress外贸主题
  • 门户网站如何建设优秀建筑案例分析
  • 素材下载网站阿里云服务器免费
  • 优秀网站页面设计图片电影视频网站源码
  • 内部购物券网站怎么做怎么在自己电脑上做网站
  • 网站建设公司公司我我提供一个平台微擎怎么做网站
  • html网站开发实战教程免费网站建站系统
  • 集团网站推广用vs做购物网站下载
  • 为什么网站建设图片显示不出来如何制作电子印章
  • 设计签名免费网站公司网站优化推广方案
  • 响应式网站价格企业信用报告网上查询