欢迎来到天天文库
浏览记录
ID:15808409
大小:92.00 KB
页数:9页
时间:2018-08-05
《设计模式之结构型模式一》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、软件英才网软件行业驰名招聘网站设计模式之结构型模式一来自何静媛的博客结构型模式: 适配器模式: 将一个类的接口转换成客户希望的另外一个接口.Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作. 主要解决的问题: 简单的说,就是需要的东西就在面前,但却不能使用,而短时间又无法改造它,于是我们就想办法适配它 在软件开发中,也就是系统的数据和行为都正确,但接口不符时,我们应该考虑用适配器,目的是使控制范围之外的一个原有对象与某个接口匹配.适配器模式主要应用于希望复用一些现存的类,但是接口又与复用环境要求不一致的情况.
2、应用: 两个类所做的事情相同或相似,但是具有不同的接口时要使用它,就应该考虑用适配器模式有需要请联系我们软件英才网软件行业驰名招聘网站 课本实例:在NBA我需要翻译 代码如下:[csharp] viewplaincopyprint?1.//翻译者类 2. class Translator : Player 3. { 4. //声明并实例化一个内部的外籍中锋对象,表明翻译者与外籍球员有关联 5. private ForeignCenter wjzf = new Forei
3、gnCenter(); 6. public Translator(string name) 7. : base(name) 8. { 9. wjzf.Name = name; 10. 11. } 12. public override void Attack() 13. { 14. wjzf.进攻(); 15.
4、 } 16. public override void Defense() 17. { 18. wjzf .防守 (); 19. } 20. } 21. //外籍中锋 22. class ForeignCenter 23. { 24. private string name; 25. public string Name 26.
5、 { 27. get { return name; } 28. set { name = value; } 29. } 30. public void 进攻() 31. { 32. Console.WriteLine("中锋{0}进攻", name); 33. } 有需要请联系我们软件英才网软件行业驰名招聘网站1. p
6、ublic void 防守() 2. { 3. Console.WriteLine("中锋{0}防守", name); 4. } 5. } 6. 桥接模式 将抽象部分与它的实现部分分离,使它们都可以独立地变化 实现指的是和它的派生类用来实现自己的对象。就例子而言,就是让“手机”既可以按照品牌来分类又可以按照功能来分类。由于实现的方式多种,桥接模式的核心意图就是把这些实现独立出来,让它们各自地变化。 实现系统可能有多角度分类,每一种
7、分类都有可能变化,那么就把这种多角度分离出来让它们独立变化,减少它们之间的耦合。应用: 有需要请联系我们软件英才网软件行业驰名招聘网站那么什么时候使用桥接模式呢?当系统可以从多个角度分类,每一种分类都有可能变化,那么就把这种多角度分类分离出来让他们独立变化,这样就可以减少他们之间的耦合。 课本实例:手机品牌和手机软件的关系 如图: 代码如下:[csharp] viewplaincopyprint?1.//手机软件 2.abstract class HandsetSoft 3.{ 4. public abstract void Ru
8、n(); 5.} 6.//游戏,通
此文档下载收益归作者所有