面向对象设计要素、原则与实践 |
面向对象思想的核心要素 |
封装的本质与意义
封装与信息隐藏
良好的封装与对象的高内聚
案例分析:邮件服务
继承与基于差异式编程
合成/聚合复用原则
案例分析:员工信息管理
多态与抽象
多态的实现形式 |
面向对象设计原则 |
单一职责原则(SRP)的要点
案例分析:订单管理
开放封闭原则(OCP)的本质
案例分析:排序算法
Liskov替换原则(LSP)对继承的约束
依赖倒置原则(DIP)的本质
面向接口编程
接口隔离原则(ISP)的本质 |
创建型模式及其实践 |
创建型模式的本质
|
创建型模式的目的
常用的创建型模式 |
工厂方法模式 |
工厂方法模式的作用与角色
为何需要引入工厂方法模式
工厂方法模式对设计原则的运用
案例分析:URL连接对象的创建(分析Java和.NET框架的不同设计)
惯例优于配置思想对工厂方法模式的改进 |
抽象工厂模式 |
抽象工厂模式的本质
抽象工厂模式在数据访问层的应用
案例实践:报表组件的设计(实践如何识别对象及运用模式改善设计)
如何解除具体依赖及其最佳实践 |
建造者模式 |
建造者模式的作用与角色
建造者模式如何改善设计
区别建造者模式与工厂方法模式
案例实践:网络请求处理程序 |
单例模式 |
单例模式的用途
运用单例模式的最佳实践 |
结构型模式及其实践 |
结构型模式的本质 |
结构型模式的目的
常用的结构型模式 |
适配器模式 |
案例分析:如何支持第三方付费服务
适配器模式的分类:类的适配器模式和对象的适配器模式
应用适配器模式的前提
案例分析:媒体播放器的设计
区别类的适配器模式和对象的适配器模式 |
合成模式 |
合成模式的结构与分类
案例分析:开发框架中合成模式的运用
案例分析:单元测试框架中合成模式的运用 |
装饰器模式 |
装饰器模式的本质
案例分析:Web Portal的设计(推导装饰器模式,分析继承和组合的优缺点)
案例分析:流对象的处理 |
代理模式 |
代理模式的角色和结构
代理模式中的设计原则
案例分析:虚代理的实现 |
桥接模式 |
桥接模式的用意与结构
桥接模式中的设计原则
案例分析:企业培训系统的设计
案例分析:手机短信发送 |
行为模式及其实践 |
行为模式的本质 |
行为模式的目的
常用的行为模式 |
策略模式 |
策略模式的本质和结构
案例分析:税务系统的设计 |
命令模式
|
命令模式的本质和结构
集合在命令模式中的运用
案例分析:安装向导
案例分析:开源框架中命令模式的运用(分析命令模式和合成模式的结合)
案例分析:SDK中线程对命令模式的运用 |
模板方法模式
|
基本方法与模板方法
模板方法模式与策略模式的区别 |
访问者模式
|
访问者模式应对行为的扩展
双重委派的意义
访问者模式和合成模式的结合
非循环访问者模式 |
观察者模式 |
观察者模式的意图与结
界面框架中的观察者模式
观察者模式的本质
观察者模式在分层架构中的应用 |
设计模式总结、分析与案例实践 |
设计模式的境界 |
初学者:拔剑四顾心茫然
熟练者:过尤不及
精通者:无招胜有招 |
设计的常见问题 |
理论与设计无法有效结合
过度运用设计模式
急于编码,没有有效的设计 |
设计模式的本质 |
封装变化
合理运用面向对象设计思想
合理运用面向对象设计原则 |
设计模式的另一种分类 |
接口型模式
责任型模式
构造型模式
操作型模式
扩展型模式 |
设计模式设计实践 |
案例分析:某管理系统(应用场景驱动设计,合理运用抽象,分辨对象的职责与协作)
案例分析:某支撑工具(灵活运用策略模式、桥接模式、模板方法模式、工厂方法模式) |