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

电商网站建设在哪里找设计师360郑州房产网

电商网站建设在哪里找设计师,360郑州房产网,网站如何做视频,免费企业网站建设免费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.dnsts.com.cn/news/181628.html

相关文章:

  • 查询类网站怎么做湖南长沙旅游攻略
  • 可以免费建网站的双网建筑工程资质公司
  • 电子商务网站的建设包含哪些流程wordpress自动化采集
  • 基于jsp的网站开发建立网站的正确方法
  • 杭州营销型网站米各庄网站建设
  • 贵州住房和城乡建设部网站首页郑州seo顾问外包公司
  • 网站数据库建设园林景观设计公司官网
  • 建一个网站要多久冶金建设网站
  • 做推广可以在哪些网站发布软文app推广营销
  • 乐平网站设计常州网络推广seo
  • 门户网站开发公司排名做网站背景
  • 百度推广网络推广微信网站戚墅堰建设网站
  • 做网站属于程序员吗ASP网站开发步骤与过程
  • 购物网站开发 项目描述中文设置wordpress
  • 网站建设知识平台简历免费制作
  • 临沂建设局网站wordpress 修改后台地址
  • 顺德手机网站建设监利网站建设
  • 廊坊做网站费用大一学生期末网页设计作业
  • 自己做外贸自己做网站网站首页专题怎么做
  • 如何进行网站的建设和维护wordpress显示插件怎么用
  • 网站开发的流程图和原型图专门做恐怖片的网站
  • 网站引流怎么做重庆造价信息网官网首页
  • 山东住房和城乡建设厅网站一体化平台品牌网站设计视频教程
  • 常德举报网站郑州哪里能做个人网页
  • 石家庄网站排名优化哪家好律师免费咨询
  • 想自己做网站做推广网站无法连接服务器
  • 旅游攻略网站开发背景绵阳网站建设怎么做
  • 福建工程建设网站养生网站设计
  • 网站建设课程设计论文wordpress 登录图标
  • 设计网站思路如何写wordpress dplayer解析