简介
该课程包含:面向对象架构设计思想、架构文档撰写、面向对象设计原则、常用的设计模式。
课程收益
帮助软件架构师掌握如何进行架构设计及设计思想
帮助设计人员掌握架构设计各类模式
受众人群
软件架构师、软件设计师、程序员、测试人员
课程时长
2天(12H)
分享提纲
主题 | 授课内容 |
引子 | 从两个案例说起。指出大部分的软件都是“意大利面条”式的代码。 引申出解决之道――软件架构设计、代码持续优化和自动化测试。 |
第1单元 架构设计思路 | 1、架构设计思路 (1)考虑驱动因素 (2)设计基础架构 (3)输出设计结果 (4)跟随项目持续优化 (5)输出优化代码 2、架构设计的驱动因素 (1)软件质量模型 (2)质量属性间的互斥 (3)性能与其他属性的取舍 |
第2单元 模块化程序设计思想 | 该单元介绍代码分模块、分层的思想,以及一些基本的代码解耦方法。 1、模块化设计的目的 2、模块化程序设计方法 (1)什么是模块 (2)什么是好模块 (3)模块接口设计 3、模块杀手--循环依赖 (1)次晨综合症 (2)分层设计思想 |
第3单元 架构设计文档 | 1、架构视图 (1)开发视图――类图和包图 (2)逻辑视图 (3)4+1视图 (4)4+1视图在架构文档中的取舍 2、架构设计文档 (1)架构文档的价值 (2)架构文档的撰写原则 3、平台接口说明文档 (1)平台架构思想 (2)平台接口约束文档 |
第4单元 设计原则 | 1、面向对象设计原则 (1)单一职责原则 (2)开闭原则 (3)里氏替换原则 (4)接口隔离原则 (5)依赖倒置原则 2、组包原则 (1)重用-发布原则 (2)共同重用原则 (3)共同封闭原则 (4)无环依赖原则 (5)稳定依赖原则 (6)稳定抽象原则 |
第5单元 设计模式概述 | 1、什么是设计模式 2、使用设计模式的好处 3、被滥用的设计模式 |
第6单元 策略模式和表数据入口模式 | 2.1 依赖倒置原则 2.2 策略模式 2.2.1为什么叫策略 2.2.2策略模式的好处 2.2.3案例1 2.2.4运用时机 2.2.5案例2--变体 2.3 表数据入口模式 |
第7单元 模板方法模式 | 3.1 策略模式带来的重复代码 3.2 模板方法模式 3.3 运用时机与弊端 3.4 模板方法的滥用 |
第8单元 工厂模式 | 4.1 策略模式的局限 4.2 工厂模式 4.3 自动化测试 4.4 扩展运用 4.5 运用时机 |
第9单元 抽象服务模式 和适配器模式 | 5.1 抽象服务模式 5.2 适配器模式 5.2.1对象形式的适配器模式 5.2.2类形式的适配器模式 |
第10单元 组合模式 | 6.1 扩展功能需求导致违反开闭原则 6.2 组合模式 6.3 运用时机 6.4 组合模式的好处 |
第11单元 MVP模式 | 7.1 反例 7.2 抽取“模型”层接口 7.3 “表示器”层 7.4 案例 7.5 数据主动变化处理 7.6 MVC模型 7.7 MVP模型的优缺点 7.8 MVP模式的运用时机 |
第12单元 观察者模式 | 8.1 案例 8.2 合成复用原则 8.3 与工厂模式的矛盾 8.4 观察者模式的运用时机 8.5 用event简化观察者实现 8.6 推模型观察者模式 选讲内容:Lamda表达式 |
第13单元 状态模式 | 9.1有限状态机案例 9.2 switch/case实现 9.3 迁移表实现 9.4 状态模式实现 9.4.1 状态模式类图 9.4.2 旋转门类的实现 9.4.3 状态类的实现 9.4.4 状态模式的优缺点 9.5 状态模式的运用时机 |