C-SHARP-模式设计.pdfVIP

  1. 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
  2. 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
  3. 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
C-SHARP-模式设计

C# 1 设计模式 () 这学期开设设计模式课程,将课件放上来。 课本:《C#设计模式》,电子工业出版社,ISBN 7-5053-8979-3。33元含光盘。 课程内容:设计模式 来源:亚历山大的建筑模式、Gamma等人 (1995)创作的DesignPatterns:Elementsof Reusable Software。这本书通常被称作Gang of Four或GoF,开创性的创造了 《设计 模式》。 也有人说三十六计就是模式。 一、C# 面向对象程序设计复习 内容包括: 字段与属性.cs 属性、方法作用范围.cs 一加到一百.cs 使用接口排序(2).cs 使用接口排序(1).cs 求质数.cs 冒泡法排序.cs 九九表.cs 静态与非静态.cs 构造函数.cs 方法重载.cs 多态性.cs 递归求阶乘.cs 打印三角形.cs 传值调用与引用调用.cs 二、设计模式举例 在设计模式中有一种模式叫Builder模式,其原理如下: 我们可以将Builder理解成电饭锅,给这个Builder放进去米和水,经过Builder的Build后, 我们就可以取出香喷喷的米饭了。 C#中有一个类叫StringBuilder,输入必要的信息后,就可以取出对应的String。其使用方法 如下: using System; using System.Text; class Exam 程序执行结果为: aabbbcccc 请使用StringBuilder对以下打印三角型的程序进行改写,写出新程序。 using System; public class Exam 答: using System; using System.Text; class Exam 三、先有鸡还是先有蛋? 到底是先有鸡还是先有蛋?看下面的代码: using System; class Client class Base class Derived :Base Derived Base Base Derived Base Derived 继承自 ,可以说没有 就没有 ,可 里面有一个成员是 类型。到底是先有鸡还是先有蛋?这个程序可以正常编译执行并打印结果10。 四、大瓶子套小瓶子还是小瓶子套大瓶子? 另外一个例子: using System; class Client classA class B a b b a 上面的代码似乎描述了 包含 , 包含 的关系,到底是大瓶子套小瓶子还是小瓶子套大瓶 子呢? 五、.net本质 关于先有鸡还是先有蛋的程序,系统运行后,内存结构如下: 由图中可以看出,根本不存在鸡与蛋的问题,而是型与值的问题以及指针引用的问题。 关于大瓶子套小瓶子还是小瓶子套大瓶子问题,系统运行后,内存结构如下: 由于是指针引用,所以也无所谓大瓶子还是小瓶子了。 关于更多内容可以参考 《.NET本质论 第 1卷:公共语言运行库》。 参考文献: 阎宏,《Java与模式》,电子工业出版社 [美]James W.Cooper,《C#设计模式》,电子工业出版社 [美]AlanShalloway James R.Trott,《Design Patterns Explained》,中国电力出版社 [美]Robert C.Martin,《敏捷软件开发-原则、模式与实践》,清华大学出版社 [美]Don Box,Chris Sells,《.NET本质论 第 1卷:公共语言运行库》,中国电力出版社 PS: 另外鸡与蛋的问题不成立,因为对象间是“引用”关系而不是“包含”关系。这就是我要说明的问题。 C# 2 设计模式 () 《人月神话》焦油坑、没有银弹 * 软件腐化的原因: 问题所在 设计目标 过于僵硬 可扩展性 (新性能可以很容易加入系统) 过于脆弱 灵活性 (修改不会波及其它) 复用率低 粘度过高 可插入性 (新功能容易加入系统

文档评论(0)

wnqwwy20 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:7014141164000003

1亿VIP精品文档

相关文档