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

昆明做网站优化网页粒子效果网站

昆明做网站优化,网页粒子效果网站,微信开放平台是什么,在技校计算机网站建设依赖关系倒置#xff1a; 动机(Motivate): 在软件系统中#xff0c;经常面临着“某些结构复杂的对象”的创建工作;由于需求的变化#xff0c;这些对象经常面临着剧烈的变化,但是它们却拥有比较稳定一致的接口。 如何应对这种变化#xff1f;如何向“客户…依赖关系倒置              动机(Motivate):    在软件系统中经常面临着“某些结构复杂的对象”的创建工作;由于需求的变化这些对象经常面临着剧烈的变化,但是它们却拥有比较稳定一致的接口。    如何应对这种变化如何向“客户程序使用这些对象的程序隔离出“这些易变对象”从而使得“依赖这些易变对象的客户程序”不随着需求改变而改变意图(Intent):     用原型实例指定创建对象的种类并且通过拷贝这些原型创建新的对象。                                          ------《设计模式》GOF 结构图(Struct):                  生活例子                                                            适用性 1当一个系统应该独立于它的产品创建构成和表示时 2当要实例化的类是在运行时刻指定时例如通过动态装载 3为了避免创建一个与产品类层次平行的工厂类层次时 4当一个类的实例只能有几个不同状态组合中的一种时。建立相应数目的原型并克隆它们可能比每次用合适的状态手工实例化该类更方便一些。 示意性代码例子 1 public  abstract class NormalActor2     {3         public abstract NormalActor clone();4     }1    public class NormalActorA:NormalActor2     {3        public override NormalActor clone()4        {5            Console.WriteLine(NormalActorA is call);6            return (NormalActor)this.MemberwiseClone();7            8        }9     }1   public class NormalActorB :NormalActor2     {3        public override NormalActor clone()4        {5            Console.WriteLine(NormalActorB  was called);6            return (NormalActor)this.MemberwiseClone();7            8        }9     }    public class GameSystem     {        public void Run(NormalActor normalActor)        {            NormalActor normalActor1 normalActor.clone();            NormalActor normalActor2 normalActor.clone();            NormalActor normalActor3 normalActor.clone();            NormalActor normalActor4 normalActor.clone();            NormalActor normalActor5 normalActor.clone();                   }     }      class Program                                                                                                                                                                                                       {         static void Main(string[] args)         {             GameSystem gameSystem new GameSystem();            gameSystem.Run(new NormalActorA());         }     } 如果又需要创建新的对象flyActor)只需创建此抽象类然后具体类进行克隆。   public abstract class FlyActor     {         public abstract FlyActor clone();     }   public  class FlyActorB:FlyActor     {       /// summary       /// 浅拷贝如果用深拷贝可使用序列化       /// /summary       /// returns/returns       public override FlyActor clone()       {           return (FlyActor)this.MemberwiseClone();       }     } 此时调用的Main()函数只需如下    class Program                                                                                                                                                                                                       {         static void Main(string[] args)         {             GameSystem gameSystem new GameSystem();            gameSystem.Run(new NormalActorA(), new FlyActorB());         }     } Prototype的几个要点          Prototype模式同样用于隔离类对象的使用者和具体类型易变类之间的耦合关系它同样要求这 些“易变类”拥有“稳定的接口”。     Prototype模式对于“如何创建易变类的实体对象“采用“原型克隆”的方法来做它使得我们可以 非常灵活地动态创建“拥有某些稳定接口中”的新对象----所需工作仅仅是注册的地方不断地Clone.     Prototype模式中的Clone方法可以利用.net中的object类的memberwiseClone()方法或者序列化来实现深拷贝。 有关创建型模式的讨论     Singleton模式解决的是实体对象个数的问题。除了Singleton之外其他创建型模式解决的是都是new 所带来的耦合关系。     Factory Method ,Abstract Factory,Builder都需要一个额外的工厂类来负责实例化“易变对象”而Prototype则是通过原型一个特殊的工厂类来克隆“易变对象”。     如果遇到“易变类”起初的设计通常从Factory Mehtod开始当遇到更多的复杂变化时再考虑重重构为其他三种工厂模式Abstract Factory,Builder,Prototype).
http://www.zqtcl.cn/news/449307/

相关文章:

  • 广州网站定做纸箱手工制作大全
  • 数据库修改网站后台密码cms三合一网站源码
  • 一般做哪些外贸网站丰南建设局网站
  • 网站如何被收录情况自己做的网站如何实现下载文件
  • 龙岩网站设计一般要多久深圳做自适应网站设计
  • 类似于拼多多的网站怎么做资料下载网站建设
  • 做商城网站哪里网站官网建设的价格
  • 网站怎么做用户体验山东富国建设投资有限公司网站
  • app ui模板网站首页改版影响优化
  • 周村网站制作哪家好网站设计基本要素
  • 网站制作与维护费用wordpress文章页不显示侧边
  • 嘉兴网站建设正规公司做室内设计人喜欢的网站
  • 入侵dedecms网站管理员密码百度注册域名免费建站
  • 找晚上做的工作去哪个网站企业开发软件公司拓展方案
  • 济宁建站公司wordpress博客入门
  • 做外贸需要网站wordpress app 打包
  • 免费网站站长查询丽水微信网站建设公司
  • 广州品牌网站建设先做网站 先备案
  • jsp系统网站建设带源代码梧州网页设计
  • 二手书籍交易网站开发方式关键词seo排名优化如何
  • 陕西西安潍坊网站seo外包
  • 计算机专业网站开发开题报告网站推广营销怎么做
  • 比较大的做网站的公司电影网站盗链怎么做
  • 江苏响应式网站建设哪里有台州网站制作方案
  • 深圳设计网站有哪些展览展会策划公司
  • 微信生活门户网站源码河北建设厅网站初始密码
  • 企业如何做网站推广成都外贸网站建设
  • 网页设计 网站建设 哪个好佛山网站建设推广服务
  • 东莞网站建设技术支持产品推广怎么写
  • 银川app购物网站制作公司网站建设怎样提升形象与品牌价值