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

网站地址怎么申请注册软件设计师报考条件

网站地址怎么申请注册,软件设计师报考条件,深圳百度推广网站建设,wordpress评论显示ua背景#xff1a;有一个应用框架#xff0c;它可以向用户显示多个文档。在这个框架中#xff0c;两个主要的抽象是类Application和Document.这两个类都是抽象的。客户必须通过它们的子类来做与举替应用相关的实现。 分析#xff1a;因为被实例化的特定Document子类是与特定应…背景有一个应用框架它可以向用户显示多个文档。在这个框架中两个主要的抽象是类Application和Document.这两个类都是抽象的。客户必须通过它们的子类来做与举替应用相关的实现。 分析因为被实例化的特定Document子类是与特定应用相关的所iApplication类不可能预测到那个Document子类将被实例化一一Application类仅直到一个新的文档何时应被创建而不知道哪一种Document将被创建。这就产生了一个尴尬的局面框架必须实例化类但是它只知道不能被实例化的抽象类。 延迟实例化一一工厂方法 工厂方法模式定义了一个创建对象的接口但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。 需求使用框架开发一款Word应用程序。 1 namespace FactoryMethod2 {3 /// summary4 /// 文档抽象类定义了文档的一般操作接口5 /// /summary6 public abstract class Document7 {8 public abstract void Open();9 public abstract void Close(); 10 public abstract void Save(); 11 public abstract void Revert(); 12 } 13 14 } 1 namespace FactoryMethod2 {3 /// summary4 /// 文档生产工厂定义了生产文档的接口5 /// /summary6 public abstract class Application7 {8 public abstract Document CreateDocument();9 10 } 11 } using System;namespace FactoryMethod {public class Word:Document{public override void Close(){Console.WriteLine(关闭了一个Word文档);}public override void Open(){Console.WriteLine(打开了一个Word文档);}public override void Revert(){Console.WriteLine(恢复了一个Word文档);}public override void Save(){Console.WriteLine(保存了一个Word文档);}} } 1 namespace FactoryMethod2 {3 public class WordApp : Application4 {5 public override Document CreateDocument()6 {7 return new Word();8 }9 } 10 } 1 using System;2 3 namespace FactoryMethod4 {5 class Program6 {7 static void Main(string[] args)8 {9 Application app new WordApp(); 10 Document doc app.CreateDocument(); 11 doc.Open(); 12 doc.Revert(); 13 doc.Save(); 14 doc.Close(); 15 Console.ReadKey(); 16 } 17 } 18 } 运行结果    新的需求使用现有框架再开发一款Excel和PowerPoint应用程序。 分析方法一分别增加对应的工厂子类和产品子类即可。 方法二参数化工厂根据工厂接收的不同参数返回不同的产品。本人比较懒这种方法要修改很现有多代码放弃 方法三使用泛型。 这里我就采用泛型了泛型的好处是不言而喻的一次编写永久使用再多的产品使用这一个模板工厂就可以了。而且也不需要改变原有代码。 1 namespace FactoryMethod2 {3 public class AppT : Application where T : Document,new() 4 {5 public override Document CreateDocument()6 {7 return new T();8 }9 } 10 } 1 using System;2 3 namespace FactoryMethod4 {5 class Excel:Document6 {7 public override void Close()8 {9 Console.WriteLine(关闭了一个Excel文档); 10 } 11 12 public override void Open() 13 { 14 Console.WriteLine(打开了一个Excel文档); 15 } 16 17 public override void Revert() 18 { 19 Console.WriteLine(恢复了一个Excel文档); 20 } 21 22 public override void Save() 23 { 24 Console.WriteLine(保存了一个Excel文档); 25 } 26 } 27 } 1 using System;2 namespace FactoryMethod3 {4 public class PPT:Document5 {6 public override void Close()7 {8 Console.WriteLine(关闭了一个PPT文档);9 } 10 11 public override void Open() 12 { 13 Console.WriteLine(打开了一个PPT文档); 14 } 15 16 public override void Revert() 17 { 18 Console.WriteLine(恢复了一个PPT文档); 19 } 20 21 public override void Save() 22 { 23 Console.WriteLine(保存了一个PPT文档); 24 } 25 } 26 }  运行结果   参考资料《Design Patterns》转载于:https://www.cnblogs.com/blackteeth/p/10217509.html
http://www.yutouwan.com/news/91211/

相关文章:

  • 网站建设工作标准南京网站设计哪家公司好
  • 设计网站页面要多少钱网站为什么被百度k了
  • 表格做的网站影响收录天津哪家做企业网站
  • 做流程图用什么网站最近几年做电影网站怎么样
  • 云南专业做网站多少钱做网站的时候字体应该多大
  • 静态网站添加到织梦项目计划书的六大要素
  • 网站建设公司 优势代做网站推广的公司
  • 阿里巴巴网站建设教程视频长春网站推广优化
  • 东莞服饰网站建设哪家好上海网站优化推广
  • 网站首页被k 不恢复建设银行网站怎么查工资明细
  • 做网站最下面写什么做网站感觉挣不到钱啊
  • 深圳房产网站建设国外手机网站模板
  • dede网站首页加悬浮广告路桥区商用营销型网站建设
  • 一般网站建设好多久被收录vi设计模板源文件
  • 天津网站设计怎样自学开网店
  • 建设广告联盟网站让百度收入 wordpress
  • 帮中介做网站赚钱吗衡阳网站制作公司
  • 网站开发公司需要什么资质简单网页制作工具
  • 泾川网站建设电子商务网站建设包括哪些内容
  • 注册了网站之后怎么设计免费网站源码
  • 赢展网站建设访问不到自己做的网站
  • 水利局网站建设整改报告免费网站备案
  • 网站建设兼职招聘wordpress权限说明
  • 深圳网站建设ln12345昆山网站建设义搏
  • php网站安装好后后台无法登陆提示是500是怎么回事?教育app定制开发
  • 移动互联和网站开发嘉兴房地产网站建设
  • 网站图片什么格式莱芜网络推广公司哪里有
  • 网页设计网站模板网站建设网页模板下载wordpress主题源代码
  • 专业网站制作网络公司金华网站建设方案报价
  • 做网站外包新能源汽车前十名品牌