时间 | 授课内容 |
第一部分 面向对象设计原则 | 软件的可维护性与可复用性 软件系统的可维护性 软件系统的可重用性 2、什么是优秀的设计 3、引入案例 (影片租赁系统) 4、软件设计原则 (1)开闭原则(ocp) (2)里氏替换原则(lsp) (3)依赖倒置原则(dip) (4)接口隔离原则(isp) (5)合成/聚合服用原则(carp) (6)迪米特法则(lod)
|
第二部分 创建型设计模式 | 1、工厂方法(method factory)模式 (1)引入与结构 (2)农场系统中的实现 (3)java语言中工厂方法的应用 2、抽象工厂(abstract factory)模式 (1)引入和问题 (2)结构 (3)使用场景优缺点 (4)农场系统中的实现 (5)其它案例分析以及与java反射机制的综合运用 3、单例(singleton)模式 (1)引入和结构 (2)java中的实现(多种实现方式) (3)使用场景 (4)单例模式在开发中的实际应用 (5) 序列键生成器实现 (6) 多例模式 4、构建(builder)模式 (1)引入和结构 (2)构建模式的活动序列和实现 (3)构建模式在javaMail技术中的使用 (4)构建模式的使用场景优缺点 5、原型(prototype)模式 (1)引入,变量、对象、对象的引用 (2)java对象的复制 (3)原型模式的实现 (4)深拷贝和浅拷贝 (5)使用场景及优缺点
|
第三部分 结构型设计模式 | 1、适配器(adapter)模式 (1)引入 (2)类的适配模式效果和实现 (3)对象的适配模式效果和实现 (4)使用场景和优缺点 (5)适配模式在架构层次上的应用 ( 6 ) 缺省适配器 2.桥梁(bridge)模式 (1)引入与结构 (2)驱动器和jdbc驱动 (3)代码重构角度看桥梁模式 (4)实现 (5)使用场景及优缺点 3、合成(composite)模式 (1)通过对象的树结构引入并简介 (2)安全式和透明式的合成模式 (3)安全式的合成模式 (4)透明式的合成模式 (5)合成模式的实现 4、装饰(decorator)模式 (1)引言与结构 (2)安全式和透明式的合成模式 (3)使用场景和优缺点 (4)发票系统案例 (5)装饰模式的实现 5、java io专题中设计模式的使用 (1)java io库的设计原则 (2)装饰模式的应用 (3)半透明装饰模式的使用 (4)适配模式的使用 (5)从byte流到char流的适配 6、门面(facade)模式 (1)引入与结构 (2)门面模式的实现 (3)使用场景和优缺点 (4)session中的门面模式 7、享元模式(flyweight pattern) (1)引入 (2)单纯享元模式的结构 (3)复合享元模式的结构 (4)模式的实现 (5)使用场景和优缺点 8、代理(proxy)模式 (1)引入 (2)静态代理的结构和实现 (3 ) 动态代理的结构和实现 (4)代理模式的使用场景和优缺点 ( 5 ) cglib代理 (6) RPC 中的使用
|
第四部分 行为型设计模式一 | 1、责任链(chain of responseibility)模式 (1)从击鼓传花引入 (2)结构 (3)实现 (4) 餐费审批案例 2、命令(command)模式 (1)引入与结构 (2)java语言内的案例:awt事件机制 (3)实现 (4)在视图中使用命令模式 (5)随身听使用案例 3、解释器(interpreter)模式 (1)引入和结构 (2)解释器模式实现 (3)一个示意性的实现 4、迭代(iterator)模式 (1)引入和结构 (2)实现 (3)使用场景和优缺点 (4)java语言中队迭代模式的支持 5、调停者(mediator)模式 (1)引入和结构 (2)调停者模式的实现 (3)使用场景和优缺点 6、备忘录(memento)模式 (1)备忘录模式的结构 (2)白箱实现 (3)黑箱实现 (4)备忘录模式的应用 (5)使用场景和优缺点
|
第五部分 行为型设计模式二 | 1.观察者(observer)模式 (1)引入与结构 (2)实现 (3)java语言对观察者模式提供的支持 (4)案例及使用 2、状态(state)模式 (1)引入与结构 (2)效果和场景 (3)状态模式在投票系统中的使用 3、策略(strategy)模式 (1)引入 (2)实现 (3)java内部的例子 (4)图书折扣案例 (5)使用场景和优缺点 (6 ) 认证案例 4、模板方法(template method)模式 (1)引入与结构 (2)java语言中模板方法模式的使用 (3)模板方法模式在系统开发异常处理中的应用 (4)模板方法在代码重构中的应用 5、访问者(visitor)模式 (1)引入与结构 (2)系统的时序图 (3)使用场景和优缺点 (4)访问者模式的实现 (5)电脑专卖系统中的实际应用
|
第六部分 重构与模式 | 1. 以State取代状态改变条件语句 2. 以Strategy取代条件逻辑 3. 以Composite取代隐含树 4. 以Interpreter取代隐式语言 5. 转移装饰功能到Decorator 6. 用Builder封装Composite 7. |
第七部分 综合使用 | 1.java线程异步设计与模式 2.日志系统中设计模式的使用 3.包装jdbc操作设计模式的使用 4.异步并行加载框架设计模式的使用 |