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

网站广告收入如何缴文化事业建设费网站建设的三网合一

网站广告收入如何缴文化事业建设费,网站建设的三网合一,市场监督管理局举报电话,河南建设通网站介绍#xff1a;在简单工厂模式中#xff0c;我们提到#xff0c;工厂方法模式是简单工厂模式的一个延伸#xff0c;它属于Gof23中设计模式的创建型设计模式。它解决的仍然是软件设计中与创建对象有关的问题。它可以更好的处理客户的需求变化。引入我们继续来说new在简单工厂模式中我们提到工厂方法模式是简单工厂模式的一个延伸它属于Gof23中设计模式的创建型设计模式。它解决的仍然是软件设计中与创建对象有关的问题。它可以更好的处理客户的需求变化。引入我们继续来说new的问题我们在简单工厂模式中将实例化对象的工作推迟到了专门负责创建对象的工厂类中这样在我们事先预知的情况下可以根据我们的需要动态创建产品类。但是我们的预知是有限的客户的变化可能是无限的。所以就出现了问题一旦客户的变化超越了我们的预知我们就必须修改我们的源代码了。这是设计模式所不允许的怎么办呢工厂方法模式正是解决此类问题的。问题具体工厂类的创建工作不能满足我们的要求了创建的工作变化了解决思路哪里变化封装哪里。把具体工厂封装起来。定义工厂方法模式又称为工厂模式也叫虚拟构造器Virtual Constructor模式或者多态工厂模式Polymorphic Factory,在工厂方法模式中父类负责定义创建对象的公共接口而子类则负责生成具体的对象这样做的目的是将类的实例化操作延迟到子类中完成即由子类来决定究竟应该实例化创建哪一个类。意图定义一个用户创建对象的接口让子类决定实例化哪一个类工厂方法模式使一个类的实例化延迟到其子类。参与者 抽象产品角色Product定义产品的接口 具体产品角色ConcreteProduct 实现接口Product的具体产品类 抽象工厂角色Creator 声明工厂方法FactoryMethod返回一个产品 真实的工厂ConcreteCreator实现FactoryMethod工厂方法由客户调用返回一个产品的实例 工厂方法模式UML图现实生活中的例子为了方便大家理解我仍然举穿衣服方面的一个例子。这个例子与简单工厂模式中的那个例子有些不同。据说清朝有个皇帝穿衣非常的奢侈每种衣服具体产品类由一宫女具体工厂类专门负责这样一来每增加一种衣服具体产品类就要多出一个宫女具体工厂类但是他们各负其责互不影响。皇帝之所以这样做是因为针对穿衣服这件事来说可扩展性是非常强的。分析实现的功能可以根据皇帝的要求动态的创建由宫女去拿已存在的具体产品衣服如果皇帝的要求太苛刻这种衣服还没有只需要增加一个宫女一个衣服就能够满足他的要求了。每个宫女只负责一种衣服高内聚要增加一种衣服对于以前的所有宫女与衣服来说都不会受到影响设计模式中所期望的。说到这里是不是明白了工厂方法模式所能解决的问题及其应用了呵呵。。你一定在想比简单工厂模式灵活性高吧。。抽象工厂角色代码 1namespace FactoryMethod2{3 /**//// summary4 /// 抽象工厂类,定义产品的接口5 /// /summary6 public interface IFactory7 {8 ICoat CreateCoat();9 } 10}   抽象产品角色代码  1namespace FactoryMethod 2{ 3    /**//// summary 4    /// 抽象产品类 5    /// /summary 6    public interface ICoat 7    { 8        void ShowCoat(); 9    }10}   具体工厂角色代码    1namespace FactoryMethod 2{ 3    /**//// summary 4    /// 具体工厂类:用于创建商务上衣类 5    /// /summary 6    public class BusinessFactory:IFactory 7    {         8        public ICoat CreateCoat() 9        {10            return new BusinessCoat();11        }12    }1314    /**//// summary15    /// 具体工厂类,用于创建时尚上衣16    /// /summary17    public class FashionFactory : IFactory18    {19        public ICoat CreateCoat()20        {21            return new FashionCoat();22        }23    }24}   具体产品角色代码    1namespace FactoryMethod 2{ 3    /**//// summary 4    /// 具体产品类,商务上衣类 5    /// /summary 6    public class BusinessCoat:ICoat 7    { 8        public void ShowCoat() 9        {10            Console.WriteLine(这件是商务上衣);11        }12    }1314    /**//// summary15    /// 具体产品类,时尚上衣类16    /// /summary17    public class FashionCoat : ICoat18    {19        public void ShowCoat()20        {21            Console.WriteLine(这件是时尚上衣);22        }23    }24}25   客户端代码    1namespace FactoryMethod 2{ 3    /**//// summary 4    /// 客户端代码 5    /// /summary 6    class Client 7    { 8        static void Main(string[] args) 9        {10            //为了方便以后修改,将工厂类的类名写在应用程序配置文件中11            string factoryName  ConfigurationManager.AppSettings[FactoryName];12          13            IFactory factory  (IFactory)Assembly.Load(ConcreteFactory).CreateInstance(FactoryMethod.  factoryName);14            15            ICoat coat  factory.CreateCoat();16            //显示你要的上衣17            coat.ShowCoat();18        }19    }20}   客户端代码需要注意的两个地方1把具体工厂类类名称写在了应用程序配置文件中方便修改2用到了反射利用.NET提供的反射可以根据类名来创建它的实例非常方便由反射想到的下面这一段内容不是计划要写的。如果在具体工厂中每次new的对象都是一个而且这些类是继承自抽象产品接口的那么我们用简单工厂模式也可以实现动态的增加具体产品类。这样来做在简单工厂模式中最核心的部分----工厂类不要根据传来的条件去动态创建产品类利用反射机制去创建。把要实例化的类名放在应用程序配置文件中呵呵。。这样利用.NET特有的反射就可以用简单工厂模式解决更多的问题了工厂方法模式的一部分问题也是可以通过“这样的简单工厂模式”解决的在需要增加具体产品类时不用增加具体工厂是不是简单一些呀。下去试一下。。。优点   基于工厂角色和产品角色的多态性设计是工厂方法模式的关键。它能够使工厂可以自主确定创建何种产品对象。而且如何创建一个具体产品的细节完全封装在具体工厂内部符合高内聚低耦合。 在系统中加入新产品时无需修改抽象工厂和抽象产品提供的接口无需修改客户端也无需修改其他的具体工厂和具体产品很好的利用了封装和委托。   缺点   在添加新产品时需要编写新的具体产品类其实这不算一个缺点因为这是不可避免的要增加与之对应的具体工厂类。   应用情景   类不知道自己要创建哪一个对象时 类用它的子类来指定创建哪个对象 当类将创建对象的职责委托给多个帮助子类中的某一个并且你希望将哪一个帮助子类是代理者这一信息局部化的时候     工厂方法模式在ASP.NET HTTP通道中的应用TerryLee在他的那篇文件中写的非常好推荐去看一下。  转载于:https://www.cnblogs.com/Loyalty/archive/2012/04/24/2469050.html
http://www.zqtcl.cn/news/56993/

相关文章:

  • 重庆响应式网站建设费用wordpress 速度优化
  • 网站开发需要什么服务器贵州专业网站建设公司
  • 长沙手机网站设计php值班系统 wordpress
  • 提供衡水网站建设抖音代运营文员是干嘛的
  • 网站及app开发湖南做网站问磐石网络专业
  • 网站后台管理界面代码页游网站如何做推广
  • 网站制作内容个人做外贸网站违法吗
  • 网站输入一级域名自动跳转二级域名wordpress被提权
  • html简单网站建设代码wordpress文章详情模版替换
  • 网站建设甲方原因造成停工做网站6个月心得
  • 百度推广 帮做网站吗乌海品牌网站建设
  • 重庆江津网站设计公司电话wordpress 二维码
  • 用什么做网站河南网站备案系统短信
  • 做招聘网站需要营业执照吗针对315老坛酸菜企业解决方案
  • 网站开发用php好吗如果在网上接网站建设项目
  • 手机响应式网站中小型网站建设与管理总结
  • 漳州商城网站建设如何做app推广
  • 网站开发研究方法建设摩托车是名牌吗
  • 网站排名优化手机天元建设集团有限公司总工程师
  • 北京网站设计制作关键词优化网站推广的基本手段
  • 西安学校网站建设公司做系统后之前网站怎么找回
  • 上海哪个公司做网站好wordpress绑定多郁闷
  • 网站空格键代码网站cms系统 开源
  • 旅游景区网站建设方案文档找人做网站需要问哪些问题
  • 利用养生网站做竞价引流网站改版设计方案
  • 临湘网站建设网页制作与网站开发...
  • 网站读取错误时怎样做域名做网站出售合法吗
  • 有什么那个网站微信公众号网站开发注意
  • 酒店电子商务网站建设注册网站域名用什么好处
  • 营销型网站与展示型网站再网站里做商家店铺