火龙果会员
注册 找回密码
每月超过20万元免费资源,目前收到捐助0
您可以捐助,支持我们的公益事业。
1元 10元 50元 100元
 验证码,看不清楚?请点击刷新验证码 必填
  求知 文章 文库 Lib 视频 iProcess 课程 认证 咨询 工具 讲座 Model Center   Code
会员   
要资料
 
追随技术信仰

随时听讲座
每天看新闻
   
  .Net 栏目
 
浏览(7106 次) 下载 (41 次)    
 
FactoryMethod设计模式 (已逆向)
抽象公共的结构和行为,建立抽象的框架层,以便各个具体应用可以继承公共行为,并根据具体应用的不同,实例化不同的子类对象。
keywords:C# ,设计模式,FactoryMethod
来源:   火龙果      更新日期:2015-5-31
评价       
 
 
作者:俎涛
 
 问题  如何提炼一个可以为多个应用建立同一结构关系,实现各个应用的继承性扩展。
 环境  多个应用具有类似的结构和行为。
 解决方案  抽象公共的结构和行为,建立抽象的框架层,以便各个具体应用可以继承公共行为,并根据具体应用的不同,实例化不同的子类对象。
 效果  具体应用开发具有规范性和继承性。
 实例  不同国家的人说不同的话。
 
用例模型:
 
 用例名称  Speak
 用例概述  中国人可以用汉语说话,英国人可以用英语说话
 基本场景  用户选择人种,App创建选择的人种,人种创建他的语言,用户输入词汇,App查找词汇,说话。
 备选场景  如果人种选择错误,提示没有此人种。如果找不到,提示没有此词汇。
 
设计类图:
 
 类名  Person
 功能  抽象类,用于建立和Language的关系
 方法  说明
 CreateLanguage()  抽象方法,留给子类去实现。
 Speak()  具体方法,查询词汇表说话。
 
 类名  Language
 功能  抽象类,用于建立各种语言的公共结构
 属性  说明
 helloWorld  词汇记录属性
 sorry  词汇记录属性
 
 类名  Chinese
 功能  实现Person,提供汉语创建方法
 方法  说明
 CreateLanguage()  实现汉语创建
 Speak()  继承父类方法。
 
 类名  ChineseLanguage
 功能  实现Language ,建立具体的汉语词汇
 方法  说明
 ChineseLanguage ()  构造汉语词汇表
 
 类名  Englishman
 功能  实现Person,提供英语创建方法
 方法  说明
 CreateLanguage()  实现英语创建
 Speak()  继承父类方法。
 
 类名  EnglishLanguage
 功能  实现Language ,建立具体的汉语词汇
 方法  说明
 EnglishLanguage ()  构造英语词汇表
 
顺序图:
 
代码目录:
主程序Program.Main():
运行效果:
 
 
 


 

gsandzyj@163.com: 描述的很细致,也很到位。