您好!欢迎光临普瑞思咨询网站!
服务热线 设为首页 | 加入收藏 | 网站地图

您的位置:首页 >> 培训文章 >> 研发项目 >> 正文

培训文章

软件架构设计模式实践与应用

作者: 来源: 文字大小:[][][]
第一单元:设计模式与面向对象的设计思想
一、面向对象与设计模式
1.面向对象与设计模式的联系
2.面向对象的设计原则:
开闭原则、依赖倒置原则、Liskov替换原则、单一职责原则、接口分离原则、组合复用原则、所知最少原则
案例分析:会议管理系统等、API函数的启示等
3.用GRASP模式指导面向对象的设计
4.信息专家、创建者、高内聚、低耦合、控制者、多态、间接、纯虚构、保护变化
案例分析:
信息专家、控制者、低耦合、间接模式案例分析
5.应用GRASP模式精化架构设计案例分析
二、UML中的常见疑难问题辨析
1.类设计
1)UML中关系的辨析:
2)依赖关系、关联关系辨析;聚合,组合辨析。
3)类设计中的常见问题:
一些常见但易混淆的类关系图;熟悉类的自关联形式;使用关联类;一些易混淆的重数表示方法;建模为对象与建模为属性 / 建模为方法与建模为对象的辨析。
2.交互图中的常见问题:
1)循环、条件、创建、并行的表示。
2)控制类的地位;边界、控制、实体类的交互规则。
3.其它辨析
1)扩展基类与覆盖基类等;自关联、关联多重性、关联角色名辨析。
2)消除多重继承的常用手段。
第二单元:设计模式详解
一、设计模式介绍
1.从几个案例说起
文件解析器:
1)文件解析器的初始设计。
2)初始设计遭遇的问题。
3)用模式来思考。

演示控制系统:
1)一个不错的演示控制系统。
2)功能渐强,结构渐乱。
3)用统一的方式处理问题。

多窗口的系统:
1)直观的想法。
2)松耦合的实现。

薪酬系统:
1)虚假的策略。
2)设计人员的功底; 抽象的重要性。

编辑器。
1)模式的困惑。
2)一切从实际出发。

2.设计模式分类及特点
1)为何需要设计模式;设计模式在软件设计中所处的层级及阶段。
2)设计模式的特点。
3)设计模式的几种分类。
4)设计模式的意图及考虑问题的基本思想。
5)设计模式的优点及不足。

二、组织接口型模式:
1.接口的意义。
2.适配器模式。Adapter
1)适配器模式介绍。
2)容易被忽略的情况:关于接口的修改。
例:文件解析器系统的接口设计。
3.适配器总结。
4.外观模式。
1)令人望而生畏的API函数。
2)外观模式的作用。
3)容易被忽略的外观。
例:文件解析器系统的外观设计。
5.外观模式与适配器的辨析。
6.中介者模式
1)中介者模式的使用场景。
2)中介者模式在架构中的重要地位。
3)中介者模式与控制者。

三、创建型模式
1.单例模式。
1)单例模式的意义。
2)多线程中的问题。
例:引入单例模式。

2.工厂模式
1)工厂模式的使用场景。
2)工厂模式与反射。
例:引入工厂模式。

3.抽象工厂模式
1)创建不同对象的多个系列产品。
2)工厂模式与抽象工厂模式的区别。
例:引入抽象工厂模式。

4.构造者模式
1)构造者模式的应用场景。
2)构造者模式中的控制者。
5.原型模式
1)作为工厂的原型
2)利用克隆进行原型
3)
四、扩展型模式
1.功能与逻辑的关系
1)功能模块的设计要点。
2)逻辑模块的设计要点。
3)系统稳定及可扩展的秘诀。
2.模板方法模式
1)部分的多态。
2)模板方法模式的使用场合。
3)模板方法模式与IOC。
例:文件解析器中的模板方法模式。
3.策略模式
1)继承与组合的辨析。
2)多态的经典使用。
3)无处不在的策略模式。
例:运输系统;在多窗口系统中引入策略模式。

4.桥接模式
1)从“类爆炸”说起。
2)复杂多对多的处理。
3)仅针对接口编程是不够的。
4)桥接模式的要点:抽象类行为的具体实现中有重复的方法。
5)从桥接模式到面向对象的误区。
例:在文件解析器中引入桥接模式。

5.状态模式
1)状态模式的本质:类状态机。
2)状态模式的前提条件:经常发生改变的是状态(业务流程),而非对应的处理。
3)状态模式使用。
4)状态模式与表驱动法。
5)
6.策略、桥接、状态、模板方法模式的辨析。

7.装饰模式
1)装饰模式的使用场合。
2)装饰模式的要点。
3)Java中的装饰模式。
例:装饰模式在打印中的使用。

8.代理模式
1)代理模式的使用场合。
2)代理模式的要点。
3)代理模式与AOP

9.访问者模式
1)访问者模式的使用场合。
2)双重分发机制。
3)与桥接模式的比较。
例:在演示控制系统中引入桥接模式。

10.责任链模式
1)责任链模式的使用场合。
2)责任链模式的要点。
3)消息路由与责任链模式。

11.组合模式
1)组合模式的使用场合。
2)组合模式的使用要点。
例:组合模式在表单统计中的使用。


五、操作型模式
1.命令模式
1)命令模式的特点、优点及缺点。
2)命令模式的典型使用场合。
例:在客户端与服务器端传递命令。
例:在元搜索系统中使用命令模式。

2.观察者模式
1)观察者模式的使用场景。
2)观察者模式与MVC。
3)观察者模式使用中变体。
例:用观察者模式解决多窗口系统的联动问题。
3.享元模式
1)享元模式的使用场景。
2)内存管理:存根(stub)与享元模式。

4.备忘录模式
1)备忘录的使用场景。

5.迭代器模式
1)Java、stl、c#中的迭代器实例。
例:构造统一的树状结构迭代。

6.解析器模式:
1)解析器模式的使用场合。

第三单元:设计模式本质论
一、关于功能与逻辑的分离。
1.隔离关注面。
2.软件架构设计的思考。
3.单向依赖与双向依赖。
4.强依赖与弱依赖。
5.面向对象的误会。
6.领域模型。
7.DIP、DI和IOC。
8.分离、分离,还是分离!
9.桥接、策略、状态、访问者、模板方法模式。

二、关于间接。
1.间接在软件设计中的地位。
2.变形记。
3.接口在间接中的地位。
4.掌握好度。
5.间接、间接、还是间接!
6.实际项目运用中的折衷。

三、关于动态对象。
1.一个有争议的建模例子。
2.你真正理解什么是对象吗?
3.善于构建动态对象。
4.其它的小对象。

四、关于常用模式的组合。
1.用中介者模式作为中控。
2.用桥接/ 策略模式作为情况分支处理。
3.用状态模式进行事件分发。
4.用命令模式处理复杂的操作。
5.用访问者模式、装饰模式、组合模式统一流程。
6.用工厂/ 抽象工厂模式进行创建组配。
7.用单例模式简化传输,构建无状态对象。
8.用模板方法模式处理小流程。
9.用观察者模式实现联动和消息相应。
10.用状态模式实现控制中枢。

五、关于模式的误用。
1.以业务为边界。
2.不用模式的正当理由。
3.不可避免的类爆炸。
4.子类复子类,子类何其多。
5.理解模式的本质,而非背诵形式。
6.高手的选择。

第五单元:设计模式综合练习
一、设计模式综案例。
1.网络数据采集分析系统。
2.基于网络元搜索的系统。
3.企业薪酬管理系统。
4.会议管理系统。
5.文件解析系统。
6.图像处理系统。
7.Devs文件编辑器系统。

上一篇:商务写作与金字塔原理课程 下一篇:现代企业档案管理实务


上海创卓商务咨询有限公司 版权所有 电话:021-36338510 /36539869 传真:021-36338510 邮箱:info@purise.com 网址:www.purise.com
Copyright 2004 All right reserved() 沪ICP备11020370号