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

用wp做网站备案南通网站建设系统电话

用wp做网站备案,南通网站建设系统电话,网站建设的技能有哪些,wordpress上传图片会缩小Builder模式也是创建型模式中的一种。主要用来应对构成复杂但构成结构和顺序相对稳定的对象的创建工作。目的是省去在对象发生变化时#xff0c;需要修改代码中每一处对象创建的地方#xff0c;应用这种模式#xff0c;可以在一个复杂对象的内部结构(由许多其他子对象构成的…Builder模式也是创建型模式中的一种。主要用来应对构成复杂但构成结构和顺序相对稳定的对象的创建工作。目的是省去在对象发生变化时需要修改代码中每一处对象创建的地方应用这种模式可以在一个复杂对象的内部结构(由许多其他子对象构成的结构)发生变化时仅需要对对象有所修改而复杂对象与其他的对象之间的关系、行为不需要进行修改。 其实这就是这个创建型模式应用的动机在软件系统中有时面临着一个复杂对象的创建工作其通常由各个部分的子对象用一定的算法构成由于需求的变化这个复杂对象的各个部分经常面临着剧烈的变化但是将它们组合在一起的算法却相对稳定。 GOF 将一个复杂对象的构建与其表示相分离使得同样的构建过程可以创建不同的表示。 下面举一个例子来说明这种应用比如说买电脑中的装机根据消费者不同的需求我们要提供不同品牌不同配置的电脑。 装机器就像Builder模式描述的一样组装成机器的方法即用子对象构建对象的算法是稳定的但是根据客户的需求可能对机器现有配置要求升级则只是子对象发生了变化但是这不影响极其的组装方法。 定义组装成电脑需要的设备这里为了代码量少一些简化了电脑的构建粗略的分为CPU、主板、内存、硬盘、键盘、鼠标。首先构建它们对应的抽象类。      // 电脑      public abstract class Computer      {      }        // CPU      public abstract class CPU      {      }      // 主板      public abstract class Mainboard      {      }      // 内存      public abstract class Memory      {      }      // 硬盘      public abstract class Harddisk      {      }      // 键盘      public abstract class Keyboard      {      }      // 鼠标      public abstract class Mouse      {      } 然后就可以定义构建组装电脑需要的配件的抽象方法。      public abstract class ComputerBuilder      {          public abstract void BuildCPU();          public abstract void BuildMainboard();          public abstract void BuildMemory();          public abstract void BuildHarddisk();          public abstract void BuildKeyboard();          public abstract void BuildMouse();            public abstract Computer GetComputer();      } 这里仅提供了一种品牌机的标准配置IBM。这时就可以来构建我们实际需要的IBM配件实际子对象了。      // IBM电脑      public class IBMComputer : Computer      {      }        // IBMCPU      public class IBMCPU : CPU      {      }      // IBM主板      public class IBMMainboard : Mainboard      {      }      // IBM内存      public class IBMMemory : Memory      {      }      // IBM硬盘      public class IBMHarddisk : Harddisk      {      }      // IBM键盘      public class IBMKeyboard : Keyboard      {      }      // IBM鼠标      public class IBMMouse : Mouse      {      } 到这里我们就需要定义组装IBM配件的方法了。为了简单这里又定义了一个用来存储实际需要的配件集合用来存储我们构建出来的配件子对象。      public class AssemblyComputer      {          // 组装起来的电脑配件          ArrayList accessories new ArrayList();            public void Add(string part)          {               accessories.Add(part);          }            public void ShowDetails ()          {               Console.WriteLine( Computer Accessories: );                 foreach(string part in accessories)                    Console.WriteLine(part);          }      } 这时我们的ComputerBuilder方法和集成自它的实际构建方法IBMComputerBuilder就需要有所修改返回一个我们建立的辅助信息存储类型的对象AssemblyComputer。以下为修改后的IBM电脑子对象构建类。      public class IBMComputerBuilder : ComputerBuilder      {          AssemblyComputer ac new AssemblyComputer();            public override void BuildCPU()          {               ac.Add(IBMCPU);          }          public override void BuildMainboard()          {               ac.Add(IBMMainboard);          }          public override void BuildMemory()          {               ac.Add(IBMMemory);          }          public override void BuildHarddisk()          {               ac.Add(IBMHarddisk);          }          public override void BuildKeyboard()          {               ac.Add(IBMKeyboard);          }          public override void BuildMouse()          {               ac.Add(IBMMouse);          }            public override AssemblyComputer GetComputer()          {               return ac;          }      } 相应的抽象类也做修改。      public abstract class ComputerBuilder      {          public abstract void BuildCPU();          public abstract void BuildMainboard();          public abstract void BuildMemory();          public abstract void BuildHarddisk();          public abstract void BuildKeyboard();          public abstract void BuildMouse();            public abstract AssemblyComputer GetComputer();      } 最后我们定这个电脑的配置类就是这台电脑的实际配置。      public class ComputerConfiguration      {          public static AssemblyComputer CreateComputer(ComputerBuilder computerbuilder)          {               computerbuilder.BuildCPU();               computerbuilder.BuildMainboard();               computerbuilder.BuildMemory();               computerbuilder.BuildHarddisk();               computerbuilder.BuildKeyboard();               computerbuilder.BuildMouse();                 return computerbuilder.GetComputer();          }      } 其中的CreateComputer方法就是构建了一个电脑的实际配置例子。这里有一点需要强调的就是这台电脑需要的配件是稳定的需要CPU、主板、内存、硬盘、键盘、鼠标。至于具体需要什么牌子的很可能客户就不要IBM的键盘鼠标而需要一套罗技的键盘和鼠标这时只要修改我们IBM的构建类或者是添加一个新的自定义电脑配置类然后在这个自定义构建类中定义我们需要的具体配件而这些配件子对象构建出来的电脑对象的构建过程是不变的。 这样我们在客户程序中使用定义好的对象时可以使用下面的代码。      AssemblyComputer ac ComputerConfiguration.CreateComputer(new IBMComputerBuilder());      ac.ShowDetails();      Console.ReadLine(); 首先定一个电脑配置然后使用一个需要的配置的生成器最后将电脑配置呈现出来。 得到执行结果 Computer Accessories: IBMCPU IBMMainboard IBMMemory IBMHarddisk IBMKeyboard IBMMouse   看到这段代码可能大家还是感觉有新的配置后在维护的时候仍然需要修改new IBMComputerBuilder()这里我们可以使用反射机制来解决这种问题这样就解决了扩展上不许重新进行编译的问题。如果以前的有所修改那就直接替换掉相应的DLL程序集就可以了。方便了以后的维护扩展工作。     转载于:https://www.cnblogs.com/Bear-Study-Hard/archive/2006/10/24/538606.html
http://www.zqtcl.cn/news/871165/

相关文章:

  • 网址我的上网主页seo培训中心
  • 上海建网站服务器河南网站推广优化排名
  • 夸克作文网站淄博团购网站建设
  • 家居类企业响应式网站一个很好的个人网站开发
  • 推荐网站建设服务器百度竞价入口
  • 微信如何做网站100个成功营销策划案例
  • 手机网站分享js代码外贸网站做几种产品
  • 文化网站建设论文wordpress模板打包
  • 学校网站查询做网站 先上线再调整
  • 如何制作一个好网站培训教育网站开发
  • 杭州市网站seo网站微信建设
  • 做购物网站 需要手续安徽科技学院
  • 网站顶部下拉广告网页游戏设计培训学校
  • 做seo的网站是怎么样的wordpress访问地图
  • 国外psd免费下载网站公司网站设计的公司
  • jsp sql 网站开发天津建站管理系统信息
  • 网站建设教程搭建浊贝湖南岚鸿给力企业网站定制公司
  • 网站建设与数据库维护 pdf廊坊seo关键字排名
  • 十元精品店做网站微信开发网站制作
  • 做乡镇网站地图上搜索不到的公司正规吗
  • 新材料 东莞网站建设多wordpress整合
  • 17做网店这个网站做起多少钱中信建设有限责任公司招标平台
  • 做慕课的网站一线设计公司
  • 官方网站app最新下载陕西建设厅八大员官方网站
  • 个体户可以备案网站吗运营
  • 政务网站模版建一个团购网站
  • 信用网站建设方案软文内容
  • PHP网站开发方向企业宣传片制作公司光年映画
  • 满城住房和城乡建设局网站上海最好的网站是什么
  • 网站建设合作网络营销是什么模式