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

株洲网站建设的公司怎么找上海网页制作公司

株洲网站建设的公司怎么找,上海网页制作公司,广州网站建设索王道下拉,建设银行网站下载中心23种计模式之 前言 #xff08;5#xff09;单例模式、工厂模式、简单工厂模式、抽象工厂模式、建造者模式、原型模式、(7)代理模式、装饰器模式、适配器模式、门面模式、组合模式、享元模式、桥梁模式、#xff08;11#xff09;策略模式、责任链模式、命令模式、中介者模…23种计模式之 前言 5单例模式、工厂模式、简单工厂模式、抽象工厂模式、建造者模式、原型模式、(7)代理模式、装饰器模式、适配器模式、门面模式、组合模式、享元模式、桥梁模式、11策略模式、责任链模式、命令模式、中介者模式、模板模式、迭代器模式、访问者模式、观察者模式、解释器模式、备忘录模式、状态模式 设计原则 2-Python与设计模式–工厂类相关模式 一、快餐点餐系统 想必大家一定见过类似于麦当劳自助点餐台一类的点餐系统吧。在一个大的触摸显示屏上 有三类可以选择的上餐品汉堡等主餐、小食、饮料。当我们选择好自己需要的食物支付完成后 订单就生成了。 下面我们用今天的主角--工厂模式--来生成这些食物的逻辑主体。首先来看主餐的生成仅以两种汉堡为例 class Burger():nameprice0.0def getPrice(self):return self.pricedef setPrice(self,price):self.pricepricedef getName(self):return self.name class cheeseBurger(Burger):def __init__(self):self.namecheese burgerself.price10.0 class spicyChickenBurger(Burger):def __init__(self):self.namespicy chicken burgerself.price15.01.2 其次是小食。内容基本一致 class Burger():nameprice0.0def getPrice(self):return self.pricedef setPrice(self,price):self.pricepricedef getName(self):return self.name class cheeseBurger(Burger):def __init__(self):self.namecheese burgerself.price10.0 class spicyChickenBurger(Burger):def __init__(self):self.namespicy chicken burgerself.price15.01.3 饮料 class Beverage():name price 0.0type BEVERAGEdef getPrice(self):return self.pricedef setPrice(self, price):self.price pricedef getName(self):return self.nameclass coke(Beverage):def __init__(self):self.name cokeself.price 4.0class milk(Beverage):def __init__(self):self.name milkself.price 5.0以上的BurgerSnackBeverage都可以认为是该快餐店的产品由于只提供了抽象方法 我们把它们叫抽象产品类而cheese burger等6个由抽象产品类衍生出的子类叫作具体产品类。 接下来“工厂”就要出现了。 class foodFactory():typedef createFood(self,foodClass):print self.type, factory produce a instance.foodInsfoodClass()return foodIns class burgerFactory(foodFactory):def __init__(self):self.typeBURGER class snackFactory(foodFactory):def __init__(self):self.typeSNACK class beverageFactory(foodFactory):def __init__(self):self.typeBEVERAGE同样foodFactory为抽象的工厂类而burgerFactorysnackFactorybeverageFactory为具体的 工厂类。在业务场景中工厂模式是如何“生产”产品的呢 if __name____main__:burger_factoryburgerFactory()snack_factorrysnackFactory()beverage_factorybeverageFactory()cheese_burgerburger_factory.createFood(cheeseBurger)print cheese_burger.getName(),cheese_burger.getPrice()chicken_wingssnack_factorry.createFood(chickenWings)print chicken_wings.getName(),chicken_wings.getPrice()coke_drinkbeverage_factory.createFood(coke)print coke_drink.getName(),coke_drink.getPrice()可见业务中先生成了工厂然后用工厂中的createFood方法和对应的参数直接生成产品实例。 打印结果如下 BURGER factory produce a instance. cheese burger 10.0 SNACK factory produce a instance. chicken wings 12.0 BEVERAGE factory produce a instance. coke 4.0 二、工厂模式、简单工厂模式、抽象工厂模式 工厂模式的定义如下定义一个用于创建对象的接口让子类决定实例化哪个类。 工厂方法使一个类的实例化延迟到其子类。其通用类图如下。其产品类定义产品的公共属性和接口 工厂类定义产品实例化的“方式”。在上述例子中工厂在使用前必须实例化。如果把工厂加个类方法写成如下形式 class simpleFoodFactory():classmethoddef createFood(cls,foodClass):print Simple factory produce a instance.foodIns foodClass()return foodIns 在场景中写成如下形式 spicy_chicken_burgersimpleFoodFactory.createFood(spicyChickenBurger)这样省去了将工厂实例化的过程。 这种模式就叫做简单工厂模式。还是在上述例子中createFood方法中必须传入foodClass才可以指定生成的food 实例种类如果将每一个细致的产品都建立对应的工厂如cheeseBurger建立对应一个cheeseBurgerFactory 这样生成食物时foodClass也不必指定。事实上此时burgerFactory就是具体食物工厂的一层抽象。 这种模式就是抽象工厂模式。 三、工厂模式的优点和应用 工厂模式、抽象工厂模式的优点 1、工厂模式巨有非常好的封装性代码结构清晰在抽象工厂模式中其结构还可以随着需要进行更深或者更浅的抽象层级调整非常灵活 2、屏蔽产品类使产品的被使用业务场景和产品的功能细节可以分而开发进行是比较典型的解耦框架。工厂模式、抽象工厂模式的使用场景 1、当系统实例要求比较灵活和可扩展时可以考虑工厂模式或者抽象工厂模式实现。比如在通信系统中高层通信协议会很多样化同时上层协议依赖于下层协议那么就可以对应建立对应层级的抽象工厂根据不同的“产品需求”去生产定制的实例。四、工厂类模式的不足 1、工厂模式相对于直接生成实例过程要复杂一些所以在小项目中可以不使用工厂模式 2、抽象工厂模式中产品类的扩展比较麻烦。毕竟每一个工厂对应每一类产品产品扩展就意味着相应的抽象工厂也要扩展
http://www.hkea.cn/news/14495675/

相关文章:

  • phpcms v9 网站名称标签备案信息如何上传的网站上
  • 电脑版网站建设合同网站开发税率
  • 西安三大品牌设计公司模板网站可以做优化
  • 电子商务网站建设的简要任务执行书网站如何做关
  • 卖鞋的网站建设思路网站建设需求文档模板
  • 网站后台数据分析怎么做2_ 如何写一份详细的网站开发方案
  • 如何查网站是那家做的重庆网站优化方式
  • 网站怎么快速做排名上海松江品划建设网站
  • 盐城网站建设与网页制作dede网站地图
  • godaddy网站建设公司流程管理系统
  • 企业网站关键词优化南京广告公司排名前十
  • 深圳网站优化价格外贸网站seo怎么做
  • 网站备案接入服务商广州开发区和黄埔区的关系
  • 网站文案框架做网站图片多少钱
  • 济南网站建设服务商甘肃企业模板建站信息
  • 通过关键词优化提升企业网站公司logo注册多少钱
  • 网站设计鉴赏广州营销型网站建设价格
  • 郴州网站建设价格免费建设微网站制作
  • 国外营销型网站wordpress后台演示
  • 泰康人寿网站如何做计划领取做cpa一定要有网站
  • 在线crm网站crm软件管理系统
  • 长沙网站推广排名优化咸阳seo培训
  • 个人网站建设流程 域名注册的选择网站模板源码免费下载
  • 做网站怎么别人搜不出来品牌建设途径
  • 郑州制作企业网站做棋牌网站团队
  • seo技术网站建设专业做中文网站
  • 网站建设 管理商城网站如何做
  • 如何把自己做的网站 放在网上wordpress+万能搜索页
  • 可以免费浏览的网站公司网站优化软件
  • 做tcf法语听力题的网站手机如何建立网站平台