一、灵活性设计的最佳实践
1、 多态(polymorphism)和针对接口的编程;
2、数据驱动(Data-Driven Design);
3、元数据驱动设计;
4、反射驱动(Meta-data or Reflective );
5、解释器驱动;
6、脚本引擎技术。
二、演化式设计(Emergent Design)
1、 演化式设计 Emergent Design ;
2、演化设计--重构,反思性设计(Reflective Design)。;
3、在详细设计之中,对发现问题的设计进行重构。
三、软件设计原则/模式
1、项目系统的演变,以及设计原则的应用效果;
2、通过一个大型实例,传递Clean Code,设计原则等。
四、架构评审与架构重构
1、现场设计案例系统部署架构模型,并开展ATAM评估;
2、现场设计案例系统数据架构模型,讨论中间件对架构决策的影响;
3、实操细化架构设计练习,尝试优化分解架构设计,使之适应未来架构变化。
|
银行、政府等多领域大型核心系统设计最佳实践案例分析
1、结合多个案例项目进行分析,怎样发现和封装变化,如何通过具体的手段来进行适应这些变化;
2、很多公司习惯做大量的预习设计,这被证明是风险很高的做法。好的架构和设计是演进出来的,通过这个环节了解演进式设计的方法,包括演进式设计的方法、工具、模式等内容;
3、案例分析,根据课程介绍的坏症状,进行重构合理的设计;
4、如何计划重构活动以实现架构演进,如何从设计方法、技术债务、复杂性等角度看架构演。
|