软件设计模式最佳实践.doc_第1页
软件设计模式最佳实践.doc_第2页
软件设计模式最佳实践.doc_第3页
软件设计模式最佳实践.doc_第4页
软件设计模式最佳实践.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

王家林:Android架构师、高级工程师、咨询顾问、培训专家通晓Android、HTML5、Hadoop,迷恋英语播音和健美致力于Android和HTML5软、硬、云整合,精通Android安全。国内最早(2007年)从事于Android系统移植、软硬整合、框架修改、应用程序软件开发以及Android系统测试和应用软件测试的技术专家和技术创业人员之一。HTML5技术领域的最早实践者(2009年)之一,成功为多个机构实现多款自定义HTML5浏览器,参与某知名的HTML5浏览器研发;Tel:mail:课程简介:阐明了面向对象思想的基本原则与设计模式的核心思想;鞭辟入里地对重要的设计模式进行了分析与讲解;以多个真实的项目为案例,深入讲解设计模式的运用;提供了大量的项目实例与代码,展现设计模式的结构。课程目标:1、员工无法接手遗留系统,原因是代码杂乱,可读性差2、团队成员没有设计模式知识与经验,无法实施敏捷开发3、系统难以重构,不利于产品的重用与二次开发4、开发效率得不到保障,因为详细设计人员不能理解架构文档与详细设计方案5、设计方案难于应对需求变更6、设计的系统架构缺乏可扩展性、可维护性和可测试性,不能合理地重用7、架构、设计、开发三个环节中各个角色不能理解设计意图,很难沟通课程特色:1、全真案例,借助案例与设计模式知识的原理,借助最佳实践,帮助您提高设计能力,从而提高开发效率和设计质量2、以新视角,揭示模式的本质、思想方法,剖析出模式之“道”,跳出“为模式而模式”的“陷阱”3、提升设计能力,使开发人员由“编程小工”到设计专家4、结合测试驱动开发与重构,提高软件设计质量5、关注业界内设计模式,以实战训练驱动对设计模式的理解与运用时间 內 容 备注 第一天 第1个主题:面向对象设计的核心1、面向对象思想的核心要素(1)封装的本质与意义(2)封装与信息隐藏(3)良好的封装与对象的高内聚(4)继承与基于差异式编程(5)合成/聚合复用原则(6)多态与抽象(7)多态的实现形式2、案例分析(1)邮件服务(2)员工信息管理第2个主题:重用原则1、导致代码重复的原因(1)懒惰:容忍不好的代码(2)技能不足:复制与粘贴反模式(3)缺乏沟通:重复制造轮子2、重复带来的后果(1)重复实现,影响开发效率(2)解决方案蔓延(3)无法有效复用3、对象级重用(1)保证对象的粒度(方法级、类级、模块级和层级)(2)横切关注点的识别(3)系统的共性分析(4)对象的封装与职责委派(5)DRY原则(6)迪米特法则(7)单一职责原则4、架构级重用(1)架构资源元模型(2)开发期资源(3)运行期资源5、模式参考(1)简单工厂模式(2)模板方法模式(3)代理模式(4)适配器模式(5)装饰器模式6、案例分析(1)遗留系统分析(2)过长方法的坏味道(3)Model的重用(4)JUnit分析(5)Acegi授权认证分析第3个主题:协作原则1、职责驱动设计(1)如何识别对象的职责(2)履行职责的方式(3)专家模式(4)自治对象(5)职责的分配2、协作的要则(1)对象社区(2)协作的方式(3)协作的度(4)时序图与对象协作(5)按照意图设计(6)协作与职责委派(7)协作与依赖(8)协作与平衡3、模式参考(1)MVC模式(2)管道-过滤器模式(3)工厂模式(4)观察者模式(5)调停者模式4、案例分析(1)数据分析器(2)Spring MVC分析第4主题:扩展原则1、功能扩展 (1)扩展的定义(2)内部扩展(3)外部扩展2、可扩展性设计 (1)扩展与抽象(2)扩展与继承(3)扩展与组合(4)开放封闭原则(5)依赖倒置原则(6)针对接口编程(7)惯例优于配置3、可变性分析 (1)视角框架(2)寻找变化点(3)封装变化4、模式参考 (1)装饰器模式(2)代理模式(3)策略模式(4)命令模式(5)访问者模式(6)微核模式5、案例分析 (1)JUnit分析(2)短信平台(3)话单处理(4)格式规则匹配器时间 內 容 备注 第二天 第5主题:分离原则1、关注点分离 (1)职责分离(2)扩展点分离(3)架构属性与关注点(4)架构视图(5)模块与层的分解(6)接口隔离原则2、处理变化 (1)封装隔离变化(2)抽象稳定变化(3)分离变与不变(4)分离变化与变化3、模式参考 (1)桥接模式(2)迭代器模式(3)装饰器模式(4)MVC模式(5)分层架构模式4、案例分析 (1)AIATools项目分析(2)EISaaS架构分析(3)图形处理系统第6个主题: 简约原则1、架构与设计的要义 (1)设计需要化繁为简(2)架构设计的度(3)避免夸大的灵活性(4)优良架构的特征2、场景驱动设计 (1)分辨客户需求(2)识别风险与优先级(3)封装隐藏实现(4)抽象统一模型(5)提高代码质量(6)敏捷设计原则3、对简约原则的考量 (1)可复用性(2)可扩展性(3)可测试性(4)可读性(5)易用性4、设计反模式 (1)模式病(2)分析瘫痪(3)设计过度(4)意外的复杂度5、模式参考 (1)外观模式(2)入口模式(3)建造者模式(4)包装器模式(5)注册表模式(6)Service Locator模式6、案例分析 (1)汽车零售系统(2)AIATools分析(3)燃气集团解决方案分析第7个主题: 间接原则1、间接的思想 (1)以迂为直(2)间接性与层次(3)间接的度2、引入间接 (1)引入间接隔离变化(2)职责的委派(3)职责的封装(4)职责的抽象(5)职责的适配3、间接的目的 (1)降低耦合(2)化繁为简(3)隐藏细节4、模式参考 (1)外观模式(2)代理模式(3)适配器模式(4)调停者模式(5)资源库模式(6)Service Locator模式(7)分层架构模式5、案例分析 (1)缓存处理(2)功能引擎(3)适配Jxl 第8个主题:一致原则1、一致原则的体现 (1)接口的一致(2)形式的一致(3)调用的一致(4)解决方案的一致2、和谐的软件系统 (1)需求的一致性(2)架构视图的一致性(3)架构策略的一致性(4)产品的一致性(5)技术选择的标准3、一致遵循的原则

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论