- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
谢老师白老师你们好!.doc
谢老师,白老师,你们好!
上次4天的团体培训中,我承担的内容主要是不涉及开发过程的软件架构和测试,在实现中侧重于.NET。用设计模式和基于构件的软件设计方法,来搭建软件系统架构。在培训中,发现引入生动、形象的实例更能获得学员的欢迎和认可。所以我在这次的课程设计中,将把案例应用到讲述的每个知识点上,同时引入学员们在项目中普遍关心的选型、性能分析等问题。另外的一个问题是,上次的培训内容有些“大而全”了,这次我做了调整,去除了一部分专题,设计了包含具体案例的专题进行细致讲授。让用.NET而不用java的设计者,去体会到微软的技术是到底从哪来的。这样的一份讲义,我还会进一步的把语言调整的煽情些,引起读者和听者的兴趣。
赵巍
构架设计和体系创建(交流稿)
一、 设计模式培训示例 2
什么是设计模式 2
举例说明讲授设计模式的方法 2
开源项目中的设计模式 4
NUnit的结构与设计模式 4
Log4net中的设计模式 4
二、 软件工程中业务模式的使用 5
自底向上分析 5
自顶向下分析 5
混合分析方法 5
功能分解实例 6
业务构件 7
三、 .NET企业级模式 8
四、 构建分布式应用程序分布式计算的8项注意 11
网络通常是不可靠的 11
响应是有时间开销的 11
网络是不安全的 11
网络拓扑结构通常会改变 11
网络中通常会有很多管理员 11
传输是要付费的 11
网络通常不是同构的 11
这里还打算安排一个大型的分布式应用案例 11
五、 部署并运行应用程序 11
要考虑的问题 11
几个基本的规则 11
系统配置 12
硬件伸缩 12
负载平衡 13
群集 13
运行需求 13
六、 开发安全的应用程序中相关的知识点介绍 13
传统密码学(Cryptograph) 13
单钥制加密技术 13
数字信封 13
数字签名 13
CA证书 14
七、 性能测试 14
设计模式培训示例
(因为设计模式较多,这里仅用一个例子来说明如何传授设计模式。)
什么是设计模式
面向对象的设计中,开发者遇到了很多类似的问题,这些问题可以用一个被证明了的最佳实践来进行完成,这些被证明了的实践就是设计模式。使用面向对象,我们获得了代码的重用。使用设计模式,我们获得了经验的重用。设计模式不是代码,但具体类库和框架是设计模式的实现。变化是永恒的,设计模式为适应变化而存在。系统架构师使用设计模式是会让程序员一开始多写很多代码,但是他的存在能帮助程序员在将来遇到变化时少写很多代码。
举例说明讲授设计模式的方法
有一个动画制作公司,制作了一个关于鸭子的动画片。片子里有各种各样的鸭子,有的会叫,有的会游泳,这些鸭子都会被显示在屏幕上。于是程序员设计了如下了一个类:
这个抽象的鸭子类被各种野鸭、家鸭和橡皮鸭继承。子类都有了父类的行为,会叫、会游泳和能被显示。
一天经过一个会议,公司决定鸭子也能够飞起来。于是抽象的父类被设计师修改为:
可是,在测试中发现橡皮鸭开始飞的满屏幕都是,而橡皮鸭是不能飞的!让橡皮鸭包含会飞的代码是不必要的重复甚至是逻辑上的错误。那么使用接口呢,让能飞的鸭子继承能飞的接口?但是这样给代码维护带来极大的麻烦,当有很多鸭子子类时,我们不能知道哪些实现了该接口,哪些没有。
新的需求仍然在不断地出现,鸭子有的会飞,有的能蹦跳着飞,有的不会飞;有的会嘎嘎的叫,有的不会叫,还有的会尖锐的叫。那怎么办,设计人员已经从面向对象的角度考虑了问题,可是他还是体会到了来自问题的压力,他是不是该上51job上去转转了呢?
在这种情况下,使用如下一个设计原则:
识别出应用程序中变化的方面(aspects),然后将它们从稳定的部分中独立出来。我们可以将飞和叫的行为独立到鸭子类的外面来定义。如下图:
PerformFly调用接口FlyBehavoir中的Fly方法。接着涉及到下一个设计原则:
面向接口进行编程,而不是面向实现编程。飞有很多种飞法,定用飞的接口,具体的飞法放在具体的子类中实现。对鸭子的叫也用同样的方法处理。如下图:
在具体的鸭子类构造时,用具体的实现了IFlyBehavior接口的子类来设置其FlyBehavoir属性,决定具体是那种飞法。甚至我们还可以在具体的鸭子对象中改变鸭子飞的行为。
从上面的例子,我们可以看出,使用组合而不是继承更能解决问题。认识到这点,那么恭喜你,你学会了策略模式,如下图所示:
从这里可以看出,设计模式,带来了很大的灵活性,另外,设计模式也是设计师之间交流的语言。很多场景用一个简单的设计模式就能描述其解决方案。
其他的设计模式讲授方法也参照以上方法。
开源项目中的设计模式
NUnit的结构与设计模式
NUnit作为xUnit家族中.NET成员,是.Net的单元测试框架。
NUnit中使用的设计模式如下表所示,因准备时间关系,本讲
您可能关注的文档
- 课题类型:探索导向类 申请受理编号:.doc
- 课题编号:6.doc
- 课题编号:XK.doc
- 课题编号:《JXKTZS》.doc
- 课题编号:水重大.doc
- 课题: Unit Have you read Treasure Island yet.doc
- 课题: UNIT I CHAP 语义网络表示法.doc
- 课题: Unit I've had this bike for three years.doc
- 课题: Unit One My classroom第一课时教学设计方案.doc
- 课题: Unit What's the highest mountain in the world.doc
- 10《那一年,面包飘香》教案.docx
- 13 花钟 教学设计-2023-2024学年三年级下册语文统编版.docx
- 2024-2025学年中职学校心理健康教育与霸凌预防的设计.docx
- 2024-2025学年中职生反思与行动的反霸凌教学设计.docx
- 2023-2024学年人教版小学数学一年级上册5.docx
- 4.1.1 线段、射线、直线 教学设计 2024-2025学年北师大版七年级数学上册.docx
- 川教版(2024)三年级上册 2.2在线导航选路线 教案.docx
- Unit 8 Dolls (教学设计)-2024-2025学年译林版(三起)英语四年级上册.docx
- 高一上学期体育与健康人教版 “贪吃蛇”耐久跑 教案.docx
- 第1课时 亿以内数的认识(教学设计)-2024-2025学年四年级上册数学人教版.docx
最近下载
- 6.2交友的智慧 课件-2024-2025学年道德与法治七年级上册(统编版2024).pptx VIP
- (完整版)高中生物知识点总结(完整版).pdf
- 浙江省上虞实验中学2020-2021学年八年级上学期第一次月考数学试题(含解析).doc
- 环保涂料建设项目环境影响报告书.pdf
- 重难点专题02 函数值域与最值十四大题型汇总(解析版).docx VIP
- 6.1友谊的真谛 课件 2024-2025学年七年级道德与法治上册 统编版2024.pptx VIP
- 《公司治理学》(李维安第四版)教学全套课件.pptx
- 迷雾水珠 高清钢琴谱五线谱.pdf
- 湖南省长沙市长郡2024-2025学年高三上学期月考试卷(一)+英语试卷(含解析,含听力原文无音频).pdf VIP
- 6.1 友谊的真谛 【课件】2024-2025学年七年级上册道德与法治 统编版2024).pptx VIP
文档评论(0)