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

单页wordpress主题企业网站的优化和推广方法

单页wordpress主题,企业网站的优化和推广方法,电子商务网站建设的课程论文,昆明小程序推广总目录 前言 本文是个人基于C#学习设计模式总结的学习笔记#xff0c;希望对你有用#xff01; 在简单工厂模式中说到了简单工厂模式的缺点#xff1a;简单工厂模式系统难以扩展#xff0c;一旦添加新产品就不得不修改简单工厂方法#xff0c;这样就会造成简单工厂的实现…总目录 前言 本文是个人基于C#学习设计模式总结的学习笔记希望对你有用 在简单工厂模式中说到了简单工厂模式的缺点简单工厂模式系统难以扩展一旦添加新产品就不得不修改简单工厂方法这样就会造成简单工厂的实现逻辑过于复杂。而工厂方法模式可以很好的规避掉这个缺点下面就好好研究下工厂方法模式是如何做到的吧 1 基本介绍 工厂方法模式 一种更高级的工厂模式具体实现由子类负责因此更加灵活。这种设计方式符合开闭原则即对扩展开放对修改封闭。 工厂方法模式之所以可以解决简单工厂的模式是因为它的实现把具体产品的创建推迟到子类中此时工厂类不再负责所有产品的创建而只是给出具体工厂必须实现的接口这样工厂方法模式就可以允许系统不修改工厂类逻辑的情况下来添加新产品这样也就克服了简单工厂模式中缺点很好地符合了开放封闭原则即对扩展开发对修改封闭。 工厂方法模式的主要角色 抽象工厂 在抽象工厂类中声明了工厂方法用于返回一个产品。提供了创建产品的接口调用者通过它访问具体工厂的工厂方法来创建产品。 具体产品工厂 它是抽象工厂类的子类实现了在抽象工厂中声明的工厂方法完成具体产品的创建。并可由客户端调用返回一个具体产品类的实例。 抽象产品抽象类 定义了产品的规范描述了产品的主要特征和功能。它是工厂类创建的所有对象的父类封装了各种产品对象的共有方法。 具体产品实现类 它实现了抽象产品接口某种类型的具体产品由专门的具体工厂创建具体工厂和具体产品之间一一对应。 2 适用场景 适用于创建对象需要大量重复的步骤或者需要依赖于其它对象的情况它提供了一种方式来封装多个相关或依赖对象的创建逻辑。 当工厂类负责创建的对象比较多时可以考虑使用工厂方法模式 3 实现方式 接着张三的案例张三由原先的自己做鞋子到后来去鞋厂买鞋子这样已经让张三特别的省事省力了但是随着时间变化小镇子的崛起人们越来又有钱了小镇子里也住进来更多的人对于鞋子的种类需求和数量需求越来越多了之前的小鞋厂已经不能满足需求了于是鞋厂老板大手一挥反正这些年也挣了不少米我们再开几个分厂我们总厂只负责管理分厂给分厂技术就可以了不再负责造鞋的工作了 假如我们有个抽象产品鞋子(所有种类鞋子的父类)鞋子内有个抽象方法Show //抽象父类抽象产品public abstract class AbstractShoes{//该方法负责输出 产品名称public abstract void Show();}现在该产品有两个子类LeatherShoes皮鞋和GymShoes体育鞋 public class LeatherShoes : AbstractShoes{public override void Show(){Console.WriteLine($我是{nameof(LeatherShoes)} );}}public class GymShoes : AbstractShoes{public override void Show(){Console.WriteLine($我是{nameof(GymShoes)} );}}鞋子产品这一块的代码不需要改动主要改动在造鞋工厂。 在还是简单工厂的模式下简单工厂是负责所有鞋子的生产代码如下 //定义一个造鞋工厂类专门负责生产鞋子public class ShoesFactory{//定义一个公有的静态方法传入鞋子类别然后返回一个具体类型的鞋子实例public static AbstractShoes MakeShoes(string type){if (type LeatherShoes){return new LeatherShoes();}else if (type GymShoes){return new GymShoes();}else{throw new ArgumentException(Invalid type.);}}}如上面所说随着时间变化小镇子的崛起人们越来又有钱了小镇子里也住进来更多的人对于鞋子的种类需求和数量需求越来越多了之前的小鞋厂已经不能满足需求了于是鞋厂老板大手一挥反正这些年也挣了不少米我们再开几个分厂每个厂负责制造不同的鞋子我们总厂只负责管理分厂给分厂技术就可以了不再负责造鞋的工作了 于是就有了如下的改造代码 //抽象工厂负责定义实现类需要实现的方法public abstract class AbstractShoesFactory{//定义一个抽象方法//当下场景下表示我的分厂必须都会造鞋这些技能至于怎么造鞋由分厂自己实现public abstract AbstractShoes MakeShoes();}//具体工厂负责实现抽象工厂public class LeatherShoesFactory : AbstractShoesFactory{//实现父类的方法//这是一个皮鞋工厂需要在实现具体造鞋过程public override AbstractShoes MakeShoes(){return new LeatherShoes();}}//具体工厂public class GymShoesFactory : AbstractShoesFactory{public override AbstractShoes MakeShoes(){return new GymShoes();}}此时当张三再去买些的时候就变成了如下的模式 public class ZhangSan{public void Main(){//初始化不同种类的鞋子工厂AbstractShoesFactory abstractShoesFactory1 new LeatherShoesFactory();AbstractShoesFactory abstractShoesFactory2 new GymShoesFactory();//用皮鞋工厂的实例制造皮鞋AbstractShoes abstractShoes1 abstractShoesFactory1.MakeShoes();abstractShoes1.Show();//用体育鞋工厂的实例制造体育鞋AbstractShoes abstractShoes2 abstractShoesFactory2.MakeShoes();abstractShoes2.Show();}}在这里我们发现不需要在新增一个产品的时候去改动简单工厂内的方法违背开闭原则 在新增一个产品的时候我们只需要对应新增一个新的产品类和生产该产品的工厂类即可而不需要再去核心的工厂类中去进行代码的修改这个符合开闭原则对扩展开发对修改关闭。 4 优缺点分析 简单工厂把全部的事情变化的因素在一个地方类全部处理完而工厂方法则会定义一个用于创建对象的接口让子类决定实例化哪个产品类对象。工厂方法使一个产品类的实例化延迟到其工厂的子类。这样一来扩展产品种类就不必修改工厂函数了核心类就变成抽象类工厂方法模式将生成具体产品的任务分发给具体的产品工厂。也就是相当于工厂总部不生产产品了交给下辖分工厂进行生产。要增加产品类时也要相应地增加工厂类不需要修改工厂类的代码了这样就解决了简单工厂模式的缺点。工厂方法模式是简单工厂模式的进一步抽象。由于使用了多态性工厂方法模式保持了简单工厂模式的优点而且克服了它的缺点。 优点实现了对象的创建和使用分离且符合开闭原则使得代码更加灵活和可维护缺点每增加一个产品就要增加一个具体产品类和一个对应的具体工厂类这增加了系统的复杂度。 结语 以上就是本文的内容希望以上内容可以帮助到大家如文中有不对之处还请批评指正。 参考资料 C#设计模式(3)——工厂方法模式 C#中工厂模式详解
http://www.dnsts.com.cn/news/53293.html

相关文章:

  • 珠宝营销型网站设计销售和营销的区别
  • 做2手物品通过网站去卖掉好做吗现在流行的网站开发语言
  • 怎么做企业营销型网站wordpress评论框第三方
  • 顺德精品网站建设工程建设教育培训
  • 沈阳做网站的电话中山建设企业网站
  • 云南网站建设效果好吗织梦网站怎么加入引导页
  • 电子商务网站建设的首要问题wordpress建站怎么学
  • 昆明seo博客南网站建设可以写程序的软件
  • 织梦模板使用教程网站优化公司多少钱
  • 百度网址大全网站南沙哪有做网站的
  • 天津做网站设计公司在线图片编辑器源码
  • 网站的内容策略夹江发布app
  • 什么网站可以做音乐相册厉害的seo顾问
  • 哪个汽车网站汽贸店免费做哪个网站可以找人做橱柜
  • 亚马逊欧洲站vat怎么申请订餐网站怎么做
  • 网站改版 报价长沙网站优化收费
  • 如何在网上做自己的网站dw网站开发
  • 建立网站的目的佛山设计网站公司
  • 搭建网站后的网址辽宁省建设工程信息网出问题了
  • 深圳网站建设服务哪家有外贸大型门户网站制作
  • 濮阳做网站推广seo技术培训东莞
  • 如何做阅读网站定服装网站建设
  • 做网站销售这几天你有什么想法html5软件安装视频
  • 网站首页怎么用dw做网页制作平台in
  • seo怎样才能优化网站成都企业网站营销设计
  • 优化推广网站淄博马鞍山做网站公司排名
  • 网站建设与管理案例...做网站最好的工具
  • 怎么在服务器上部署网站建网站有什么要求
  • 专业的免费网站建设哪家个人网站名字大全
  • 网站开发组平面设计的大专学校