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

私人域名可以做公司网站备案吗上海seo网站推广公司

私人域名可以做公司网站备案吗,上海seo网站推广公司,云南省住房和城乡建设厅网站,家庭优化大师常规的对象创建方法#xff1a; //创建一个Road对象 Road road new Road(); new 的问题#xff1a; 实现依赖#xff0c;不能应对“具体实例化类型”的变化。解决思路#xff1a; 封装变化点-----哪里变化#xff0c;封装哪里 潜台词#xff1a; 如果没有变…常规的对象创建方法 //创建一个Road对象 Road road new Road(); new 的问题     实现依赖不能应对“具体实例化类型”的变化。解决思路     封装变化点-----哪里变化封装哪里     潜台词 如果没有变化当然不需要额外的封装工厂模式的缘起     变化点在“对象创建”因此就封装“对象创建”     面向接口编程----依赖接口而非依赖实现最简单的解决方法 1 class RoadFactory{ 2 public static Road CreateRoad() 3 {                                 4   return new Road();    5 } 6 } 7 //创建一个Road对象 8 Road roadroadFactory.CreateRoad(); 创建一系列相互依赖对象的创建工作 假设一个游戏开场景 我们需要构造道路、房屋、地道从林...等等对象工厂方法如下 1     class RoadFactory  2     {  3         public static Road CreateRoad()  4         {  5             return new Road();  6         }  7         public static Building CreateBuilding()  8         {  9             return new Building(); 10         } 11         public static Tunnel CreateTunnel() 12         { 13             return new Tunnel(); 14         } 15         public static Jungle CreateJungle() 16         { 17             return new Jungle(); 18         } 19     } 调用方式如下 1         Road road   RoadFactory.CreateRoad(); 3         Building building  RoadFactory.CreateBuilding(); 4         Tunnel tunnel  RoadFactory.CreateTunnel(); 5         Jungle jungle  RoadFactory.CreateJungle(); 如上可见简单工厂的问题     不能应对不同系列对象的变化。比如有不同风格的场景---对应不同风格的道路房屋、地道....如何解决     使用面向对象的技术来封装变化点。动机(Motivate)     在软件系统中经常面临着一系统相互依赖的对象的创建工作同时由于需求的变化往往存在更多系列对象的创建工作。     如何应对这种变化如何绕过常规的对象创建方法new),提供一种封装机制来避免客户程序和这种多系列具体对象创建工作的紧耦合意图(Intent):     提供一个创建一系列相关或相互依赖对象的接口而无需指定它们具体的类。                                                  ----《设计模式》GOF结构图Struct):             适用性     1.一个系统要独立于它的产品的创建、组合和表示时。     2.一个系统要由多个产品系统中的一个来配置时。     3.当你要强调一系列相关的产品对象的设计以便进行联合使用时。     4.当你提供一个产品类库而只想显示它们的接口不是实现时。生活例子                结构图代码实现 1  abstract class AbstractFactory 2     { 3        public abstract AbstractProductA CreateProductA(); 4        public abstract AbstractProductB CreateProductB(); 5     } 1   abstract class AbstractProductA 2     { 3        public abstract void Interact(AbstractProductB b); 4     } 1   abstract class AbstractProductB 2     { 3        public abstract void Interact(AbstractProductA a); 4     }    1    class Client  2     {  3         private AbstractProductA AbstractProductA;  4         private AbstractProductB AbstractProductB;  5         public Client(AbstractFactory factory)  6         {  7             AbstractProductA  factory.CreateProductA();  8             AbstractProductB  factory.CreateProductB();             9         } 10         public void Run() 11         { 12             AbstractProductB.Interact(AbstractProductA); 13             AbstractProductA.Interact(AbstractProductB); 14         } 15     }  1  class ConcreteFactory1:AbstractFactory  2     {  3         public override AbstractProductA CreateProductA()  4         {  5             return new ProductA1();  6         }  7         public override AbstractProductB CreateProductB()  8         {  9             return new ProductB1(); 10         } 11     }  1     class ConcreteFactory2:AbstractFactory  2     {  3         public override AbstractProductA CreateProductA()  4         {  5             return new ProdcutA2();  6         }  7         public override AbstractProductB CreateProductB()  8         {  9             return new ProductB2(); 10         } 11     } 1  class ProductA1:AbstractProductA 2     { 3         public override void Interact(AbstractProductB b) 4         { 5             Console.WriteLine(this.GetType().Name  interact with  b.GetType().Name); 6         } 7     } 1   class ProductB1:AbstractProductB 2     { 3         public override void Interact(AbstractProductA a) 4         { 5             Console.WriteLine(this.GetType().Name  interact with  a.GetType().Name); 6         } 7     } 1   class ProdcutA2:AbstractProductA 2     { 3         public override void Interact(AbstractProductB b) 4         { 5             Console.WriteLine(this.GetType().Name  interact with  b.GetType().Name); 6         } 7     } 1  class ProductB2:AbstractProductB 2     { 3         public override void Interact(AbstractProductA a) 4         { 5             Console.WriteLine(this.GetType().Name  interact with  a.GetType().Name); 6         } 7     } 1    public static void Main()  2         {  3          // Abstractfactory1  4             AbstractFactory factory1  new ConcreteFactory1();  5             Client c1  new Client(factory1);  6             c1.Run();  7         // Abstractfactory2  8             AbstractFactory factory2  new ConcreteFactory2();  9             Client c2  new Client(factory2); 10             c2.Run(); 11         } Abstract Factory注意的几点     如果不存在”多系列对象创建“的需求变化则没必要应用Abstract Factory模式静态工厂方法足矣。    系列对象指的是这些对象之间有相互依赖、或作用的关系。例如游戏开发场景中的道路与房屋依赖“道路”与“地道”的依赖。Abstract Factory模式主要在于应对新系列的需求变动。其缺点在于难以应对”新对象“的需求变动。Abstract Factory模式经常和Factory Method模式共同组合来应对“对象创建”的需求变化。   分类: 设计模式, 1.首页原创精华.NET区 好文要顶 关注我 收藏该文   王晓成关注 - 1粉丝 - 108 加关注 1 0 « 上一篇 单件模式(Singleton Pattern) » 下一篇 建造者模式(Builder) posted on 2007-08-29 17:25  王晓成  阅读(15809)  评论(3)  编辑  收藏 Feedback #1楼 2008-05-21 09:08 xingxi public static Road CreateRoad()  4 {  5 return new Road();  6 }  7 public static Building CreateBuilding()  8 {  9 return new Building();  10 }  11 public static Tunnel CreateTunnel()  12 {  13 return new Tunnel();  14 }  15 public static Jungle CreateJungle()  16 {  17 return new Jungle();  18 }  此段代码中Building、Road 等是在何处定义的啊  谢谢给予明示 支持(0) 反对(0) #2楼 2008-07-08 01:57 21212 --引用-------------------------------------------------- xingxi: public static Road CreateRoad() 4 { 5 return new Road(); 6 } 7 public static Building CreateBuilding() 8 { 9 return new Building(); 10 } 11 public static Tunnel CreateTunnel() 12 { 13 return new Tunnel(); 14 } 15 public static Jungle CreateJungle() 16 { 17 return new Jungle(); 18 } 此段代码中Building、Road 等是在何处定义的啊谢谢给予明示 --------------------------------------------------------  这还用定义吗这篇文章说的是一种设计模式不是教你定义类。
http://www.zqtcl.cn/news/768472/

相关文章:

  • 网站托管就业新闻今天的最新新闻
  • 重庆网站建设方案书国外做电商平台的网站有什么
  • 微信扫一扫登录网站如何做网络平台怎么弄
  • 怎么做网页模板展示网站株洲网红餐厅
  • 优秀学校网站设计正规抖音代运营公司排名
  • 网站的网站建设公司太原中小企业网站制作
  • 北京网站建设搜q.479185700模特公司网站模板
  • 网站设置什么意思wordpress 专题页面
  • 网站推广要具备什么购物网站多少钱
  • 重庆免费做网站在线做ppt
  • wordpress固定链接设置404阳江seo优化
  • 响应网站模板下载wordpress恢复网站
  • 公司网站建设的定位语要怎么取网站开发中常见的注册界面
  • 免费企业查询网站wordpress侧边栏加载过慢
  • 网站写好了怎么做后台管理链接是什么意思
  • 低价格制作网站wordpress 注册用户
  • 免费发布租房信息网站wordpress页面回收站
  • 长网页网站信息技术教案 建设我们的网站
  • 免费网站建设可信吗wordpress divi布局
  • 网站百度不收录wordpress偽靜態
  • 沈阳php网站建网站需要学什么
  • WordPress多站点绑定域名百度帐号注册
  • 网站营销队伍网站建设明薇通网络
  • 做网站的公司重庆万网x5 wordpress
  • 印刷设计营销网站网站设置成黑白
  • 百度自助建站官网上海徐汇网站建设
  • 网站定制 北京贵阳网站建设公司哪家好
  • 如何做logo模板下载网站企业策划
  • 合肥做网站的公司讯登欧亚达网站是哪家公司做的
  • 网站模板带有sql后台下载企业网站建设平台的功能